Hallo, ich habe eine Testplatine mit einem Atmega328(mit 8MHz Quarz) und einem RS485-Chip(SP485EE) vor mir liegen. Mein Problem ist, dass nur bei einer Baudrate von 128000 im Terminal der richtige gesendete Text ankommt, obwohl im Code 115200 eingestellt ist. Bei 115200 kommt nur Müll an. Weiß jemand woran das liegt? Gruß David
Moin, etwas mehr Informationen dürften es schon sein. Wie sieht den die Konfiguration des UARTs aus? Cheffe
Moin, und guckst Du mal hier: http://www.wormfood.net/avrbaudcalc.php 115200 bei 8MHz ist nicht wirklich eine gute Wahl .... Cheffe
Ich nehme Bascom zum Programmieren. Den Code habe ich jetzt auf das Minimum reduziert.
1 | $regfile = "m328def.dat" |
2 | $crystal = 8000000 |
3 | $baud = 115200 |
4 | |
5 | Config Portd.1 = Output |
6 | |
7 | Do |
8 | |
9 | Print "Test" |
10 | Waitms 100 |
11 | |
12 | Loop |
David W. schrieb: > Hallo, > > ich habe eine Testplatine mit einem Atmega328(mit 8MHz Quarz) und einem > RS485-Chip(SP485EE) vor mir liegen. Mein Problem ist, dass nur bei einer > Baudrate von 128000 im Terminal der richtige gesendete Text ankommt, > obwohl im Code 115200 eingestellt ist. Bei 115200 kommt nur Müll an. > > Weiß jemand woran das liegt? > > Gruß David 8MHz Quarz und 115.200bd ergibt einen Fehler von 7.84% und somit echte 125.000bd.
Hi >Ich nehme Bascom zum Programmieren. Den Code habe ich jetzt auf das >Minimum reduziert. Hast du es noch nicht kapiert? Bei 8MHz ergibt sich für 115200Bd ein Fehler von 8,5%. Damit läuft nichts. MfG Spess
Moin, hey Spess, was soll der Ton? David hat vernünftig gefragt und wohl noch nicht den Durchblick. Außerdem sind es "nur" 7.8%. Cheffe
Hi >Außerdem sind es "nur" 7.8%. Woher stammt der Wert? Im Datenblatt steht bei 8MHz und 115.2k 8.5%. Und das sagt mir auch mein Programm. http://www.wormfood.net/avrbaudcalc.php Scheint da etwas fehlerhaft zu sein. MfG Spess
@ David W. (davewagner) >ich habe eine Testplatine mit einem Atmega328(mit 8MHz Quarz) und einem >RS485-Chip(SP485EE) vor mir liegen. Mein Problem ist, dass nur bei einer >Baudrate von 128000 im Terminal der richtige gesendete Text ankommt, >obwohl im Code 115200 eingestellt ist. Bei 115200 kommt nur Müll an. Baudrate und Quarzfrequenz passen nicht zusammen, wie bereits Dutzendfach gesagt. http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART
Mit 11,059200MHz funktioniert es jetzt. @ spess53 Ich habe vorher die zweite Antwort von Cheffe überlesen und deswegen nochmal den Code gepostet.
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.