Estoy probando funciones de transacción UART simples para ATmega32. Puedo enviar los bytes pero no recibir nada. Estoy usando la recepción UART encuestada.
void UARTReadStr12(uint8_t *buffer) {
uint16_t i = 0;
for (i = 0; i < 12; i++) {
while (!(UCSRA & (1 << RXC)));
*(buffer + i) = UDR;
}
}
y se inicializa como,
void UARTInit(uint16_t ubrr_value) {
//Set Baud rate
UBRRL = ubrr_value;
UBRRH = (ubrr_value >> 8);
UCSRC = (1 << URSEL) | (3 << UCSZ0);
UCSRB = (1 << RXEN) | (1 << TXEN);
}