Forum: Mikrocontroller und Digitale Elektronik Ausgabe auf Terminal


von Frank B. (frank090464)


Angehängte Dateien:

Lesenswert?

Hallo, ich benötige Euere Hilfe. Stunden verbrachte ich, um hier im 
Forum zu suchen. Jedoch bin ich nicht so richtig fündig geworden.
Ich nutze BASCOM,angeschlossen das Evaluationsboard von POLLIN. 
Programmieren tue ich über die iSP-Schnittstelle. Funktioniert soweit 
ganz gut - bis auf eine Sache: Die Ausgabe auf dem Terminal ist nur 
Ramsch. Ein Atmega8 ist draufgesetzt.

Das Programm sieht in diesem Fall wie folgt aus:

$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Config Portb = Output
Do
  Print "------------------------------"
  Reset Portb.5
  Waitms 500
  Set Portb.5
  Wait 1
Loop
End

Auch andere Zeichen, wie z.B. die Buchstaben oder Zahlen werden mit 
wirren Zeichen ausgegeben.
Vielleicht mache ich ja nur einen Denkfehler. Für jeden Hinweis bin ich 
sehr dankbar.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

> 1000000

Arbeitest du vielleicht noch mit dem internen R/C-Oszillator statt mit 
externem Quarz? Kommen die 500ms Pausen vom Gefühl her hin?

Dann lies den Abschnitt WICHTIGER HINWEIS! in 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

> 9600

Gehe mit der Baudrate DRASTISCH runter. Vielleicht hast du irgendwann 
bei niedrigerer Baudrate Glück.

Ansonsten mit externem Quarz arbeiten, dann gehen auch höhere Baudraten. 
Auf dem Board sind doch 8 und 16 MHz Quarze drauf. Wichtig - beim 
Einstellen der Fuses genau Datenblatt von Atmel und Tutorial hier lesen!

von GeorgB (Gast)


Lesenswert?

Sers!
Sind die Fuse-Bits richtig eingestellt? Da gibt es eine Option "division 
8" oder so, da wird die Taktfrequenz geteilt. Stell mal "division 0" 
oder so ein. Ich hatte den gleichen Fehler gemacht. mfg GeorgB

von Bascom Killer (Gast)


Lesenswert?

Es gibt da ein Bascom Forum wo solche Fragen hingehören.

von Frank B. (frank090464)


Lesenswert?

Hallo an alle,
vielen Dank für die Tips ...

@Stefan B.
Ich habe die Baudrate auf 4800 herunter gesetzt. Es hat funktioniert.

@GeorgB
Ich habe alle Fuses so gelassen, wie ich diese bei Erstbenutzung des ICs 
ausgelesen habe. Hatte damit keine Probleme. Ändere diese nur, wenn es 
sein muß - mehr beim Atmega16/32. Hier habe ich mir die Binäruhr 
nachgebaut; das BASCOM-Listing irgendwo im Netz gefunden.

@Bascom Killer
Wenn das Bascom-Forum hier bei mikrocontroller.net sich befindet, dann 
habe ich es mit Sicherheit übersehen, dort draufzuklicken. Sorry.

Trotzdem vielen Dank für die super Ratschläge.

Good Bytes.

von Falk B. (falk)


Lesenswert?

@ Frank B. (frank090464)

>Ich habe die Baudrate auf 4800 herunter gesetzt. Es hat funktioniert.

Das ist eher Zufall. Zur soliden Nutzung des UARTs braucht man einen 
Quarz oder Quarzoszillator, und muss entsprechend die Fuses setzen.

MFG
Falk

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
Noch kein Account? Hier anmelden.