hallo liebe leute.. ich bin sehr deprimiert. ich muss dringenst eine kommunikation mit meinem mega8 per rs232 herstellen. leider funktioniert es nicht im angehängtem programm seht ihr wie ich vorgehe. wenn ich den uC mit dem osziloskop ausmesse, wird ersichtlich dass er eine baudrate von ca. 5000 hat! warum?!?! ich habe doch den ubbrval für 6 verwendet und diesen wert hab ich laut der formel auch richtig ausgerechnet? bitte um hilfe! liebe grüße
sry ich habe oben wohl die falsche datei angehängt - hier die richtige.
achja ich vergaß: mir wurde gesagt dass ich mir mal den prescaler anschauen sollte? leider kann ich damit nichts anfangen - kann dieser hier was bewirken? lg
Wieder Einer, der vom ungenauen internen RC-Oszillator Wunder erwartet... Den Rest des Programms habe ich mir dann gar nicht mehr angesehen. ...
ein bekannter hat einige projekte mit dem tiny26 gemacht, und sagte bei ihm hatte es immer genügt mit dem internen ... :(
Vielleicht hat er nicht die 9600 Baud benutzt? Laut Tabelle 60 im Datenblatt ist das ein Wert, wo es bei exakten 1.000MHz schon einen riesigen Fehler von -7,0% bei der Baudrate gibt. Mit 2400 Baud (Wert 25) oder 4800 Baud (Wert 12) würde der Fehler nur 0,2% betragen - wesentlich günstiger!
Hallo, Baudrate nicht zu hoch wählen - kann ich bestätigen! Baudrate 2400 läuft mit internem Takt von 1MHz bei mir problemlos auf Mega8 und Mega 16. Gruß, Harald
interner Takt ist u.U. tödlich für ATMega und RS232. Je nach Temp etc. können die Abweichungen riesig sein und ich glaube, der Kalibrierungswert gilt nur für 1 MHz. Nach Möglichkeit immer einen Quarz (am besten 14,7456 Mhz) einlöten. Sonst doktort man ewig dran rum. Martin G.
mit 9600 und internem Takt gibts oft schon Ärger. Versuchs einfach mal langsamer, dann klappts meistens. bye Frank
Frank wrote: > mit 9600 und internem Takt gibts oft schon Ärger. Versuchs einfach mal > langsamer, dann klappts meistens. Es hat eigentlich nichts mit 'langsamer' zu tun, sondern damit, dass der UART-Vorteiler möglichst ganzzahlig sein soll. Das gilt allerdings nur für Quarz, nicht für internen RC-Oszillator, dessen zulässige Abweichungen von der Nennfrequenz einfach zu hoch sind. Mit internem RC kann es (bei Zimmertemperatur) mal funktionieren, muss aber nicht. Das ist einfach Lotto... Mit einem 'Baudratenquarz' wirds dann richtig zuverlässig, denn dann ist der Teiler immer ganzzahlig, was die größte Fehlertoleranz ermöglicht. ...
vielen dank, bei niedrigerer baudrate hats funktioniert!!! danke!
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.