Zeichendarstellung im Monitor

Gast #123394
Ich hab da mal ein seltsames Problem.
Wenn ich meinen Atmel Mega8 über rs232 an meinen Rechner mit WinXP
anschließe erhalte ich nur wirre Zeichen auf dem Monitor.
Die Baudrate und die weiteren Parameter stimmen mit den compilierten
Einstellungen überein.
Muß ich da noch irgendwo irgenwas einstellen?

Sicher kann mir hieer jemand einen Tipp geben.
Gast
mit 80%-iger Wahrscheinlichkeit läuft der Mega mit internem Oszillator.
Kontrollier mal die Fusebits. Als ersten Test könntest du auch den
Quarz auslöten, wenn immer noch Zeichen kommen liegt obiger Fehler vor.
Eine andere Möglichkeit wäre die Baudrate auf 1MHz (intern) umzurechnen
und die Einstellungen vom Terminal verändern.

grüsse leo9
Gast
Sieht deine Initialisierung so aus ?

// UART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// UART Receiver: On
// UART Transmitter: On
// UART Baud rate: 9600
UCR=0x98;
UBRR=0x19;
ACSR=0x80;


UDR = 'S';  //'S'  zum Terminalprogramm

SG Josef
Gast
Richtig, der Mega läuft mit internem Takt.
Der Takt ist auf 1 MHz eingestellt.
Ich habe im Source ( BascomAVR ) die Taktrate richtig angegeben
Das sieht dann so aus
$crystal = 1000000
$baud = 9600

sollte angeblich so funktionieren

es sind scheinbar immer die gleichen Zeichen.
Gast
immer die gleichen Zeichen, obwohl er eigentlich immer andere ZEichen
senden sollte?

Lad dir mal ein Terminalprogramm runter, wo du auch die empfangenen
Werte siehst, nicht nur das ASCII Zeichen dazu (z.B.
http://bray.velenje.cx/avr/terminal/ ). Und sag dann mal, welche Werte
emmpfangen werden ... und was der µC eigentlich senden sollte.

mfG
aleX
Gast
> Ich habe im Source ( BascomAVR ) die Taktrate richtig angegeben
> Das sieht dann so aus
> $crystal = 1000000
> $baud = 9600

> sollte angeblich so funktionieren

Du kannst in deinen Sourcen so viel einstellen wie du willst. Wenn die
Fuses falsch gesetzt sind, gehts nicht.
Gast
also wie das mit dem Monitorprogramm aussieht kommen bei Hex-Darstellung
haufenweise Nullen und ab und zu mal ein Zeichen.

Ich tippe die Baudrate stimmt nicht und Thorsten hat mal wieder recht,
die hab ich natürlich noch nicht angepasst.
Gast
Ihr seid einfach Spitze !!!
Danke für die Tipps.
Ich habe das Problem gelöst.
Habe mir das Kapitel mit den Fusebits in der Mega8 Doku nochmal richtig
durchgelesen. ( sollte man eigentlich gleich machen )
Habe CK von no delay auf 4ms delay umgestellt und schon klappts.

mit 9600 Baud sauber und fehlerfrei in beide Richtungen.

Jetzt brauch ich wenigstens nicht mehr mit LCD zu arbeiten und kann
mein nächstes Projekt mit CAN-Bus in Angriff nehmen.

Da werde ich bestimmt wieder einige Probleme haben

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.