Hallo Leute! Ich versuche gerade auf einem Atmega8 eine Konsole nachzubilden. Man soll sich mit einem Terminalprogramm wie z.B. PuTTY via serielle Verbindung mit dem atmega verbinden und dort Befehle abgeben können und eben auch Rückmeldungen vom Controller bekommen. So weit funktioniert alles schon recht gut, nur ist mir aufgefallen dass Fehler auftreten wenn im Programm zu viel Text an den PC gesendet wird. Ich programmiere in C mit dem AVR Studio und WinAVR. Es treten ab ca. 15 printf() Befehlen mit im Schnitt etwa 30 Zeichen Fehler auf. Also vom Compiler gibt keine Fehlermeldungen, aber wenn man sich das ganze auf dem Terminal ansieht erscheinen die ersten 10 Meldungen richtig und danach kommen seltsame Sachen. Es werden Meldungen verschluckt oder teilweise falsch ausgegeben. Wenn man dann einige printf() Befehle auskommentiert funktioniert alles wieder. Es ist dabei egal welche der printf() man nimmt, es funktioniert dann. Ich hatte die vermutung dass der Code zu groß ist, aber daran liegt es anscheinend nicht. Kann es am RAM liegen? Kennt von euch jemand dieses Problem oder hat eine Idee woran es liegen könnte? Vielen Dank und ein schönes WE!
Wichtig wäre da noch die Baud Rate gewesen. Dementsprechend findest Du über die Suche eine lange Liste an Threads die dieses Thema in allen Schattierungen behandeln. (Stichwort Fehlerquote, Quartz-Frequenzen) -gruss Michel
Baudrate sind 9600 mit einem 3,6864 Mhz Quartz. Da sollten ja eigentlich keine Fehler auftreten. Die EInstellungen passen auch soweit. Ich vermute eher dass der Compiler da was versemmelt. Wenn im Code "ein Zeichen zu viel" als Ausgabetext steht tritt ein reproduzierbarer Fehler auf. Ändert man im Code die Ausgabetexte tritt ein anderer reproduzierbarer Fehler auf. Nur wenn man eine bestimmte Anzahl an Textausgaben auskommentiert funktioniert alles. Die Suchfunktion hat leider noch keine brauchbaren Hinweise geliefert. MfG, Chris
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.