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
}