Hallo zusammen, habe mir ein STK500 + STK501 mit einem AT90CAN128 Controller zugelegt. Um den UART zu testen habe ich ein kleines Progamm geschrieben und bekomme auch etwas auf meinem Terminalprogramm angezeigt. Es sollte eigentich bein drücken der Taste 1 ein S erscheinen, stattdessen kommen komische Zeichen wie R8r oder sowas. Ich nehme an, das irgendwetwas mit dem Takt nicht stimmt. Ich habe #define F_CPU 3686400UL als Takt angenommen, ist das richtig, wenn ich keinen Quarz benutze? Ist das der Defaultwert beim dem Bord und dem Kontroller? Außerdem habe ich UBRR1L = 11; eingegeben, das müssten doch 19.2 kBit sein bei 3,7 Mhz Takt?? Wäre nett wenn mir jemand helfen könnte. Danke Gruß S
Wenn Du an den Fuses des Controllers nicht geändert hast, läuft der mit 1MHz internem Takt, die für UART alledings nicht zu empfehlen sind. Keine Ahnung wie der Takt vom STK500 auf das 501er Board kommt, aber auf dem 500 fust man den Controller auf externen Takt um mit dem onboard Takt zu arbeiten.
Ok, hab den Fehler gefunden. Es war der Interne 1:8 Teiler eingeschaltet, de wohl immer per default gesetzt ist. Einfach das Häckchen weg, einen 3686400 Quarz aufs STK500 stecken, und schon hat der AT90CAN128 auf dem STK501 seinen Takt und der UART funzt. Wieder was gelernt :-) Gruß S
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.