¿Cómo recibo información del joystick en la placa de desarrollo de mariposa AVR?

0

Actualmente estoy programando una placa de desarrollo de mariposas AVR . Quiero recibir información del joystick y de mi programa para hacer ciertas cosas cada vez que se tira hacia abajo. Para ello tengo las siguientes piezas de código. (Hay más, pero esto es lo que necesita para responder la pregunta).

#define false 0

#define true 1

DDRB = (0<<DDB7);

PORTB = (1<<PB7);

....

while (PINB==1)

....

while (PINB==0)

....

En este momento, el programa avt como PINB nunca es 0 tampoco lo es 1. Creo que mi problema es que nunca leo si el joystick se mueve hacia abajo o no.

    
pregunta Johan

1 respuesta

1

Comprobando

while (PINB == 1)  {...}

probablemente no es lo que quieres. PINB se refiere al registro de 8 bits para todo el puerto B. Si desea verificar el estado de un pin específico, debe enmascararlo de esta manera:

while (PINB & (1<<PB0)) {...}

Esa condición se cumple siempre que el pin 0 en el puerto B sea alto.

    
respondido por el Rev1.0

Lea otras preguntas en las etiquetas