Valor de lectura del bit en el registro PxIN

3

Necesito obtener el valor de una entrada, pero solo necesito obtener un bit específico. Im portando un poco de software y parece que no se me ocurre una manera de obtener el valor de PxIN para la imagen del microchip, se ve así:

unsigned char idx;
for (idx = 0; idx < 8; idx++) {
    unsigned char byte |= RC1;
}

¿Cómo puedo leer el pin de entrada con un MSP430? Estoy usando Code Composer Studio v5.3.

    
pregunta Dean

3 respuestas

2

Quieres leer PxIN y luego usar un AND a nivel de bits que coloca el resultado en otra variable.

por ejemplo result = PxIN & (1<<n) para leer el n-ésimo bit.

Además, (al menos con CCS y creo - pero no tengo forma de probar - con GCC, podría cambiar con otros compiladores) en lugar de hacer cambios de bits, el encabezado msp430.h define una constante BITn que Puedes usarlo aquí.

    
respondido por el Renan
1

En lugar de tratar de cambiar los bits para alinearlos donde los necesitas, a menudo es más fácil y sencillo escribir algo como:

if (port & bitmask) byte |= 1;
    
respondido por el Dave Tweed
1

Con el compilador CrossWorks puede usar:

a = P1IN & BIT0;

para leer BIT0 del puerto P1.

    
respondido por el Leon Heller

Lea otras preguntas en las etiquetas