Moin Jungs,
ich versuche grade mal eine einfache USART Verbindung zwischen meinem AT-Mega88 und Läppy hinzukriegen. Der Läppy hat nen echte RS232, also kein USB-> RS232 Wandler oder so drann.
Hier meine Routine zum senden:
Es soll solange gesendet werden bis TX_B_L erreicht ist.Code:int USART_TX(char *TX_B, unsigned int TX_B_L) { while (!(UCSR0A & (1<<UDRE0))) { } // Warten bis Senden möglich for(int i=0; TX_B_L > i; i++) UDR0 = TX_B[i]; return 0; }
Ausgeführt wird das ganze in der Main so:
Ankommen tut genau garnichts, nada.Code:char test[5] = "Hallo"; USART_TX (test, sizeof(test));
Initialisiert wird mit 19.200 8-N-1.
Es funktioniert wunderbar wenn ich in der main einfach ein Zeichen rüberschiebe:
Das ganze mal zum testen in nen Timer gepackt der mehrmals pro Sekunde ausgeführt wird und die X-chen rattern übern Bildschirm.Code:while (!(UCSR0A & (1<<UDRE0))) { } // Warten bis Senden möglich UDR0 = 'X';
Also an der Init. kanns wohl kaum liegen!? Was läuft hier falsch?
Schönen Carfreitag, e-Ra







Zitieren

Lesezeichen