Hallo zusammen, ich experimentiere gerade etwas mit dem A90S4433 und habe ein Problem mit dem Hardware UART: Ich lasse folgendes Testprogramm laufen ldi temp, RAMEND out SPL, temp sbi UCSRB,TXEN ;TX aktivieren sbi UCSRB,RXEN ;RX (Empfang) aktivieren ldi temp,12 ;Baudrate 19200 einstellen (4MHz) out UBRR,temp loop: ldi temp, 'T' rcall serout ldi temp, 'e' rcall serout ldi temp, 's' rcall serout ldi temp, 't' rcall serout ldi temp, '!' rcall serout ldi temp, 10 rcall serout ldi temp, 13 rcall serout rjmp loop serout: sbis UCSRA,UDRE ;bereit? rjmp serout out UDR, temp ret ;zurück und lasse mir PC-seitig mit minicom unter Linux die Kommunikation auf der seriellen Schnittstelle anzeigen. Parameter von minicom sind 19200 bps/8N1, keine Hardware-Flusskontrolle, keine Software-Flusskontrolle. Von Zeit zu Zeit scheint die Synchronisation mit dem AVR nach einem Reset (z.B. nach Neuprogrammierung des Flash) nicht zu tun, minicom zeigt mir Datenmüll an, und ich muss den AVR noch einige Male resetten bis es tut. Wie kann ich dieses Problem beheben? Viele Grüße, Uli
Versuch mal 9k6. Bei 19k2 habe ich immer ähnliche Probleme gehabt, besonders mit längeren Kabeln. MfG Gerd
Hallo Gerhard, danke, aber ich konnte das Problem damit lösen, dass ich nach der Initialisierung des UART erstmal einige Zeit Nichts mache (>120000 Takte). Nachdem der Ruhepegel des UART einige Zeit anliegt klappt es anscheinend immer mit der Synchronisation. Viele Grüße, Uli
Scheint so, als ob beim Init schon das erste Zeichen gestartet wird, z.B. wenn der Treiber für TxD eingeschaltet wird. 120.000 Takte sind aber bei 19k6 etwas länger als ein kaputtes Zeichen. MfG Gerd
>120.000 Takte sind aber bei 19k6 etwas länger als ein >kaputtes Zeichen Ich dachte mir: Viel hilft viel, und nachdem mein AVR beim Start ohnehin erstmal 1-2 Sekunden mit dem key-schedule beschäftigt ist, kommt es darauf auch nicht mehr an :-) Uli
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.