Hallo,
Ich würde gerne mit meinem Mega128 Daten vom PC mittels RS232
empfangen.
Habe die schnittstelle schon mal mit einem Mega103 geamcht, das hat
auch funktioniert. Beim 128'er gehts einfach nicht.
BaudRate = 12 -> also Baud-Rate = 28800
Die Init schaut folgendermaßen aus:
1 | void Rs232Init(unsigned char BaudRate)
|
2 | {
|
3 | Rs232FlushInQ();
|
4 | Rs232FlushOutQ();
|
5 |
|
6 | UBRR0H=(unsigned char)(BaudRate>>8);
|
7 | UBRR0L=(unsigned char)(BaudRate);
|
8 | UCSR0B = (1<<RXCIE)|(1<<TXCIE)|(1<<RXEN)|(1<<TXEN);
|
9 | UCSR0B=(1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0);//enable TxT/RxT and
|
10 | interupt
|
11 | UCSR0C |= (1<<UCSZ01)|(1<<UCSZ00); //Asynchron 8N1
|
12 | }
|
Rs232FlushInQ(); und Rs232FlushOutQ(); löscht nur meinen internen
Buffer.
Wenn ich nun alle Interrupts enable wird der Interrupt nicht
ausgelöst:
1 | SIGNAL(SIG_UART0_RECV) // Receive Complete Interrupt
|
2 | {
|
3 | PutsLcd('A');
|
4 | }
|
Hab ich bei der Initialisierung was vergessen??
lg,
Stefan