HW UART stimmt no was net ganz.. Hab ich noch was vergessen zu initialisieren ??
Würd das dann mit unserem SW UART kombinieren, so wie du meintest
INT0 mit dranhängen und in der Timer-ISR nur Bits mitzählen
Code:
__task void main()
{
hw_uart_init(11); // 19200 @3.686 MHz
while(1);
}
void hw_uart_init(unsigned char baudrate)
{
UBRRL = baudrate;
UCSRB |= (1<<RXEN) | (1<<TXEN) | (1<<RXCIE);
}
void transmit_byte(unsigned char data)
{
UDR = data;
}
#pragma vector=USART_RXC_vect
__interrupt void UART_RX_interrupt(void)
{
unsigned char data;
data = UDR; //receive data
transmit_byte(data); // echo data
}
Lesezeichen