Moin, über die serielle Schnittstelle eines PCs steuere ich zwei Mikrocontroller bei 115200bps. Der eine ist ein ATmega8515, der andere ein AT90S2313, beide haben den gleichen Quarz (3,6864 MHz). Nun kommen beim ATmega die Daten richtig an, beim AT90S2313 aber nicht. Selbst wenn ich den allein dran hänge liefert er falsche Ergebnisse, wenn er die empfangenen Daten zurückschreiben soll. Wodran kann das liegen? Kommt der vielleicht mit der hohen Datenrate nicht zurecht, obwohl er dies laut Datenblatt sollte? Gruß, jörn
dann versuch es mal mit kleinen baut raten denke aber nciht, das dass das problem ist fuses richtig gesetzt sprich extern quarz oszilator??
also bei 3,68.. MHz können beide problemlos 115,2 kbps. Allerdings hat die Mega Serie einen 1 Byte FiFo sowohl auf RX als auch TX Seite. Diesen gab`s bei den Classic AVR noch nicht. Daher verlangen die Classic AVR "regelmäßigen" UART Service, bzw. das Zeitraster dafür ist "enger".
Die Fuses sind richtig gesetzt. Einzeln funktionieren sie ja weitestgehend, aber gemeinsam an den MAX232 angeschlossen, empfängt nur noch der ATmega das Signal. Hat der vielleicht einen geringeren Innenwiderstand an RX oder beeinflußt irgendwie anders das Signal, so dass es vom 2313 nicht mehr gelesen wird? Die Daten greife ich über eine relativ kurze Interruptroutine ab, so dass auch beim 2313 keine verloren gehen sollten. Ich bin echt mit meinem Latein am Ende. Gruß, Jörn
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.