Las siguientes líneas que funcionan exactamente opuestas a lo que estoy esperando, agradecerían corregir mi comprensión:
botón conectado con Pin D2 & Led B2:
if (PIND & (1 << PD2) )
{
(PORTB ^= (1 << PB2));
_delay_ms(500);
}
else
PORTB |= (1 << PB2);
Por lo que entiendo hasta ahora: cuando se presiona el botón [PD2 tendrá un valor alto (1)], que cuando y con la máscara (que es otro 1 en la ubicación de PD2), deberíamos cumplir con la condición if y el LED continuará cambiando según el valor de retardo especificado. SIN EMBARGO, lo que obtengo es exactamente lo contrario: tan largo como cuando presiono el botón, el LED se enciende constantemente uno, cuando no se presiona ningún botón, ocurre el comportamiento de cambio.
Estoy un poco perdido donde estoy equivocado