Cuando envío datos desde el puerto serie, los pines RX parpadean pero el ISR no se está ejecutando. Aquí está mi código.
#include <avr/io.h>
#include <string.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define F_CPU 16000000
volatile int NUMBER_OF_RECEIVED_BYTES = 0;
ISR(USART0_RX_vect)
{
NUMBER_OF_RECEIVED_BYTES++;
}
int main(void)
{
#define USART_BAUDRATE 9600
#define UBRR_VALUE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)
UBRR0H = (uint8_t)(UBRR_VALUE>>8);
UBRR0L = (uint8_t)UBRR_VALUE;
UCSR0B |= (1 << RXEN0) | (1 << TXEN0) | (1 << RXCIE0);
UCSR0C |= (1<<UCSZ01)|(1<<UCSZ00);
while (NUMBER_OF_RECEIVED_BYTES == 0);
DDRB |= (1 << DDB7);
sei();
while (1)
{
PORTB ^= (1 << PB7);
_delay_ms(999);
}
}