Hallo zusammen, ich habe das myavr Board MK2 und versuche mich gerade an einem Demoprogramm, welches ich aus der SiSy Bibliothek habe. Dieses lässt den uC (Atmega 88) ständig das Zeichen "A" senden. Auf dem myavr Center wird jedoch die "8" ausgegeben, also passt irgendwas mit dem Takt bzw. der Schnittstelle nicht. Der Takt steht auf 3686400Hz (interner Oszillator) und die Baudrate auf 9600 Baud (ubrr0 auf 23). An die Fuse Bits zur Umstellung auf den Quarz habe ich mich noch nicht rangetraut, weil ich gelesen habe, dass die Übertragung bei der Geschwindigkeit auch so funktionieren soll. Was kann hier noch schiefgelaufen sein? Danke schon mal. Daniel
Avr uart geht nur mit externem Oszillator, da der interne rc zu ungenau ist.
Falls nur der interne Oszillator vorhanden ist.. was schlecht waere .. kann man nur am Clock Korrektur Register drehen bis es passt. Allerdings ist dieser Wert nicht stabil, aendert sich mit Temperatur und Speisespannung.
> Der Takt steht auf 3686400Hz (interner Oszillator)
Beim m88 läuft der interne Ossi mit nominell 8MHz.
>> Der Takt steht auf 3686400Hz (interner Oszillator) > Beim m88 läuft der interne Ossi mit nominell 8MHz. >> An die Fuse Bits zur Umstellung auf den Quarz >> habe ich mich noch nicht rangetraut Standardmäßig hast du 1Mhz Systemtakt aus dem internen 8Mhz R/C Oszillator, da die CLKDIV8 Fuse aktiviert ist.
Danke, mit der Info kann ich arbeiten. Dann ginge es nun quasi weiter mit den Fuse Bits. Da bin ich mir noch nicht ganz sicher. Vorhanden ist aber ein Quarz mit einem Takt von 3,6864 MHz (Aufschrift KDO810), dazu zwei 22pF- Kondensatoren. Es stehen mehrere Einträge unter "Ext. Crystal Osc." zur Verfügung. Ich weiß zwar, dass es was mit der Einschwingzeit zu tun hat, aber vielleicht kann mir ja jemand mal eine solche Zeile als Beispiel genauer erklären: Ext. crystal Osc.;Frequency 3-8MHz; 16K CK/14CK + 65ms. Vor allem, welchen Wert nehme ich letztendlich?
> Ext. crystal Osc.;Frequency 3-8MHz; 16K CK/14CK + 65ms.
Nimm das. Bei den Millisekunden nimmt einfach die höchsten Werte wenn du
unsicher bist.
Habe eben mal ubbr0 auf 6 gesetzt, weil 1MHz. Sieht nun besser aus, Danke :-)
Daniel L. schrieb: > Habe eben mal ubbr0 auf 6 gesetzt, weil 1MHz. Sieht nun besser aus, nee, so ein mist, das sind nur so ca. 8928 Bit/s. Warum stellst Du die Fusebits nebst Vorteile ein?
Ich habe an den Fuse Bits nichts gemacht. Der Vorteiler ist standardmäßig von Atmel aktiviert.
> ...ubbr0 auf 6 gesetzt, weil 1MHz. Sieht nun besser aus
Äußerst merkwürdig, bei einem Fehler von 7 %.
Aber mit Setzen von UCSR0A.U2X sowie UBRR0=12 könnte es etwas werden,
vorausgesetzt, der RC-Oszillator dieses ATmega88 läuft unter den
gegebenen Umgebungsbedingungen hinreichend genau.
> Äußerst merkwürdig, bei einem Fehler von 7 %.
Wenn er Glück hat, läuft der R/C Oszillator zufällig schneller als
gewollt und dann hat er weniger als 7% Abweichung.
Dazu müsste man wissen, was unter
> Sieht nun besser aus
zu verstehen ist.
Daniel L. schrieb: > Dieses lässt den uC (Atmega 88) ständig das Zeichen "A" senden. > Auf dem myavr Center wird jedoch die "8" ausgegeben, also passt Was ist denn das myavr Center? google sagt mir dazu nichts :-(
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.