Forum: Mikrocontroller und Digitale Elektronik Textausgabe via UART


von Ch. H. (hetschi)


Lesenswert?

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!

von Michel (Gast)


Lesenswert?

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

von Ch. H. (hetschi)


Lesenswert?

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

von Gast (Gast)


Lesenswert?

Beitrag "printf_P aus Flash funktioniert scheinbar nicht"

Kannst ja mal probieren ob das hilft

von Ch. H. (hetschi)


Lesenswert?

Danke für den Tipp, so funktionierts prima!!
Dieses Forum is echt super!!

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
Noch kein Account? Hier anmelden.