Erste Schritte RS232 mit ATMega, wer kann helfen?

OP #5255377
Lesenswert?
• ▲
▼
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
Gast #5255386
Lesenswert?
• ▲
▼
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.
Gast #5255442
Lesenswert?
• ▲
▼
>> 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.
OP #5255454
Lesenswert?
• ▲
▼
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?
Gast #5255567
Lesenswert?
• ▲
▼
> ...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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.