Estoy intentando leer un valor de un pin avr pero no funciona.
Estoy intentando leer un valor que proviene de un botón pulsador y este botón está conectado a una celda de 5 VCC.
Cuando presiono el botón, el 5V debe ir al atmega32 y lo lee, luego la instrucción if se vuelve verdadera y el led se enciende.
Sin embargo, cuando el valor se convierta en verdadero, el led se encenderá pero no lo hará.
el bit 1 es el botón el bit 0 es el led
#define DDRA (*((volatile unsigned char *)0x3A))
#define PORTA (*((volatile unsigned char *)0x3B))
#define PINA (*((volatile unsigned char *)0x39))
int main(void) {
DDRA |= 0b00000001; // pin 0 output
while (1) {
if (PINA&0b00000010) { // button pressed
PORTA |= 0b00000001; // turn led on
}
}
}