Gast
#217027
Moin,
kennt sich jemand mit dem RX-Interrupt beim AT-Mega8 aus ?
Der Controller hängt sich auf, sobald er ein Zeichen empfängt ...
Hier ein paar Codeschnipsel (aus der Testphase ;-) :
SIGNAL(SIG_UART_DATA)
{
char tmp;
tmp=UDR;
delay_ms(20);
UDR=66;
}
int main()
{
bit_off(UCSRC, UMSEL); //Asynchronous Transmission
bit_off(UCSRC, UPM0); //No parity
bit_off(UCSRC, UPM1);
bit_off(UCSRC, USBS); // 1 Stop
bit_off(UCSRC, UCSZ0); //Char-Size 8Bit
bit_off(UCSRC, UCSZ1);
bit_off(UCSRC, UCSZ2);
UBRRH = 0x00;
UBRRL = 0x19;
bit_on(UCSRB, RXEN); //Receiver enable
bit_on(UCSRB, TXEN); //Transmitter enable
bit_on(UCSRB, RXCIE); //RX INT enable
sei();
...
}
Vielen Dank!
Greetz,
thorsten
www.lasertechnix.de