Hallo, ich möchte die Serielle Schnittstelle am ATMega8 zum senden benutzen. Leider empfange ich nix. Ich vermute nun es liegt daran das ich den ATMega mit dem internen Oszillator betreibe, und dadurch die Schnittstelle nicht korreckt initialisiert ist! Bin für jeden Tip dankbar! ;-) Gruß
Hallo! Wenn ich das noch richtig in Erinnerung hab: UART läuft nicht mit internem Oszillator, weil der +- 3% Toleranz hat. Mit externem Takt nochmal probieren, falls immer noch Probleme auftreten, mehr Infos geben, wie Sourcecode und Schaltung. Wenn Du gar nichts empfängst kann alles mögliche schuld sein. Pete
@ Pete: Hast du nicht richtig in Erinnerung. UART oder auch USART läuft problemlos mit dem internen Oszillator. Nur kommt es drauf an wieviel Baud du haben willst. Im Datenblatt gibt es eine Tabelle, bei welcher Frequenz bei entsprechenden Baudrate, die Übertragung fehlerbehaftet ist. Ich hasse es zwar, aber: RTFM (allseits belibt/gehasst) Alternativ: Programm anhängen, Hellsehen kann hier keiner ;-) (nicht böse gemeint)
Der Interne Takt ist zu ungenau. Es kann sein, dass es funktioniert, es muss aber nicht. Die asynchrone serielle Datenübertragung synchronisiert sich durch das Startbit. Das heißt, dass ab dem Startbit der Timer/Counter des Empfängers gestartet wird, der jeweils in der (zeitlichen) Mitte der vereinbarten Bits den Zustand des Bits "einscannt". Eine Synchronisation (Startbit) muss also für das gesamte Byte reichen, also für (das halbe) Startbit, die (meist) 8 Datenbits, das evtl. Paritätsbit und das (erste) Stopbit. Laufen in dieser Zeit Sendetakt und Empfangstakt auseinander, so klappt die Übertragung nicht. Es ist ein Trugschluss, dass die durch Taktunterschiede beider Seiten bedingte schlechte Stabilität der Übertragung durch langsame Baudraten verbessert werden kann, denn bei langsamerer Übertragung dauert das Telegramm (Byte) auch mehr Takte, was die gleiche Abweichung ergibt. Langsame Baudraten minimieren lediglich die Anfälligkeit gegen äußere Störungen. Die Baudratentabellen sagen nichts darüber aus, ob eine Übertragung mit (recht ungenauem und stark driftendem) internem Takt funktioniert, sondern nur, dass es mit speziellen "Baudratenquarzen" bedeutend sicherer geht als mit Quarzen "glatter" Frequenz. ...
und der nächste:-) http://www.mikrocontroller.net/forum/read-1-265431.html#271272 und natürlich wieder einer, der meint das geht problemlos...
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.