Software - UART "witziges" Phänomen

Gast #2642773
Guten Abend,

ich hab die SUART eines ATmega644 Programmiert. Nun das beängstigende: 
ATmega644 (Modell 1) funktioniert in Schaltung, d.h. der gewünschte Text 
wird ordnungsgemäß übermittelt. ATmega644 (Modell 2) mit selben Programm 
geflasht, jedoch übermittelt sinnlose Zeichen. Bei Modell 3 wieder das 
Selbe.

Warum funktioniert es bei dem ersten und bei den anderen nicht? Habe den 
gleichen ATmega644 (genau 644 20PU) genommen und jeweils mit selben 
Programm geflasht. Komisch, woran kann das liegen? O.o

MfG Herbert
Gast
> sinnlose Zeichen
Ein starkes Indiz für knapp danebenliegende Baudrate!

Möglicherweise Abweichungen in der Taktquelle, insbesondere bei internem 
Ozillator.

Hast du mal die Bit-Zeiten mit dem Oszi ausgemessen, um auf die reale 
Baudrate zu kommen? Oder alternativ die Pulsdauer einer Blink-LED an den 
verschiedenen AVR Exemplaren verglichen?
Gast
Fuses sind richtig gesetzt. Verwende einen externen Taktgeber.

Krapao schrieb:
> Hast du mal die Bit-Zeiten mit dem Oszi ausgemessen, um auf die reale
> Baudrate zu kommen? Oder alternativ die Pulsdauer einer Blink-LED an den
> verschiedenen AVR Exemplaren verglichen?

Habe ich noch nicht probiert. Aber danke für den Tipp.
Gast
versteh nicht woran es liegen kann O.o
vl. hilft das ja weiter: wenn ich die zweite Software UART verwende, 
dann liefert jeder Mikrocontroller das richtige Ergbnis. Nur hald bei 
der ersten Schnittstelle nicht. :/
Gast
Ja ich meinte die SUARTS in der Hardware.
Die Baudrate müsste richtig eingestellt sein, sonst würde ja auch die 
SUART an PD4 das falsche Ergebnis liefern. Diese funktioniert jedoch 
immer, nur die auf PD5 weist nur das richtige Ergebnis auf, wenn ich den 
ersten Mikrocontroller verwende.

Dass es an der Hardware liegt, sprich am MAX232 und deren Beschaltung 
schließe ich aus, da es ja mit dem ersten Mikrocontroller funktioniert.

Hat noch jemand eine Idee?
Herbert schrieb:
> Ja ich meinte die SUARTS in der Hardware.
> Die Baudrate müsste richtig eingestellt sein, sonst würde ja auch die
> SUART an PD4 das falsche Ergebnis liefern. Diese funktioniert jedoch
> immer, nur die auf PD5 weist nur das richtige Ergebnis auf, wenn ich den
> ersten Mikrocontroller verwende.

Weder PD4, noch PD5, sind TXD oder RXD Pins für irgendeinen der 
Hardware-UARTs.
Bleibt also immer noch die Frage: was genau meinst du überhaupt?
Gast
Sorry, für die Unklarheiten, verwende den ATmega644 20PU. Verwende die 
Beiden Ports PD4 (OC1B) und PD5 OC1A für eine Software - UART.

Weiteres verwende ich einen externen Quarz: 3,6864 MHz. Als Baudrate 
nehme ich 9600.
Gast
Funktioniert nun, die Fuses waren falsch gesetzt. Hätte gedacht, dass 
diese Einstellung bleibt und bei jedem programmiern automatisch gesetzt 
werden, aber anscheinend muss man für jeden Mikrocontrolle die Fuses 
manuell setzen. Danke für die zahlreichen Antworten.

Super Forum =)
Das war doch klar , oder ?
Da wir alle nur mit Wasser kochen wurde mir das Ergebnis bei deinem 
vorletzten Post schon klar.

In Bascom gibt es eine Option, wo man die Fuseeinstellungen im 
Programmcode
hinterlegen kann. Dann wird es beim Flashen gleich mit erledigt.

ob es das bei deiner programmiersprache auch gibt weiss ich nicht.

Klaus
Gast
Hi

>In Bascom gibt es eine Option, wo man die Fuseeinstellungen im
>Programmcode

Und im AVR-Studio kann man ein Elf-File erstellen das Flash, EEPROM, 
Fusebits und Security-Bits enthält.

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.