Hallo zusammen, am STK600 laufen meine AVRs (getestet habe ich MEGA16 sowie 2560) über USART mit ca. 5200 b/s anstatt mit den voreingestellten 9600 b/s :-( Die Baudrate ist in UBRRH/L richtig gesetzt (laut Datenblatt sowie nach den zahlreichen Beispielen im Netz). Da ich unter Eclipse mit GCC programmiere, wird die FOSC in Projekteingeschaften eingestellt und nicht im Code. Dort habe ich sie auf 1843200 Hz gesetzt. Geflasht wird mit AVRStudio, wo der externe Oszillator auf 1843200 Hz eingestellt wird und die uP Fuse auf irgendein ExtClock gesetzt wird. Am STK600 ist der CLK-Umschalter auch auf ExtClock gestellt. Das Programm soll nur das empfangene Zeichen zurück ans Hyperterminal über COM1 schicken. Der PC/Hyperterminal ist auf 9600 8N1 eingestellt und laut Oszi sind die vom PC versandten Daten OK. ABER, die Daten, die der Mikroprozessor verschickt, laufen nur mit ca. 5200 b/s. Der Faktor ist hier genau 1,8..., was mich vermuten lässt, dass der uP denkt, mit 1,8432 MHz zu laufen, läuft aber nur mit 1,0 MHz. Wo kann ich es nachprüfen? Die Daten, die der uP empfängt, entsprechen den versandten auch nicht immer richtig, da es zur fehlerhaften Erkennung kommt, vermutlich durch die falsche USART Frequenz. Wenn ich unter Eclipse schreibe "#DEFINE FOSC 1843200", bekomme ich ein Warning, dass die Konstante schonmal definiert wurde, also es wird wohl doch das übernommen, was man in den Project Properties setzt. Bitte um eure Troubleshooting Tipps Karel
> irgendein ExtClock
Was genau?
Was passiert wenn du FOSC einfach auf 1000000 stellst?
Einfach mal kreativ sein und ausprobieren.
Den Clock sollte man immer nachpruefen wenn man Zweifel an der Frequenz hat. Man kann zB ein Scope am XTal2 anhaengen, so vorhanden. alternativ einen Timerinterrupt auf zB 10ms stellen und an einem Portpin einen puls rauslassen. Dann mit dem scope diesen Puls anschauen.
Tipps zu später Stunde: -Fusebits -Datenblatt dann läufts bestimmt! Grüße kaffeetas
> was mich vermuten lässt, dass der uP denkt, mit > 1,8432 MHz zu laufen, läuft aber nur mit 1,0 MHz. Dat Datenblatt sacht: >> The default clock source setting is therefore the 1 MHz Internal RC >> Oscillator with longest startup time. > Wo kann ich es nachprüfen? Bei den Fuses, denn die dürften nicht stimmen.
Danke Jungs, direktes Setzten FOSC auf 1000000 hat geholfen. Es hat unter Eclipse irgendwo gehakt. Karel
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.