Seltsame RS232 - Ausgabe

#1678491
Lesenswert?

Hallo zusammen,

ich hab mir mal Bascom gezogen und ein bisschen rumgespielt. Jetzt 
wollte ich mal das obligatorische "Hallo Welt" an den Konsolenemu 
senden. Doch dort kommen nur seltsame Zeichen an.

Mein Code sieht so aus:
1
$regfile = "m8515.dat"                                      
2
$crystal = 8000000                                         
3
$baud = 9600
4

5
DO
6
    Print "Hallo Welt"
7
    Wait 1
8
Loop

Jetzt hab ich zur Verbindung das Programmierkabel verwendet. PD0 und PD1 
sind wie im Handbuch mit den RS232-Spare Pins verbunden.

Warum bekomme ich so seltsame Zeichen? Ich würde sie gerne hier 
darstellen, nur copy und paste geht nicht, da anderer PC, und auf der 
Tastertur gibts die nicht.
#1678494
Lesenswert?

Dennis Brenzel schrieb:
> Warum bekomme ich so seltsame Zeichen?

Also bei seltsamen Zeichen würde ich zu erst mal sagen: 
Baudratenproblem. Die Baudraten von Empfänger und Sender stimmen also 
nicht überein.

Ansonsten wären ein paar mehr Informationen nicht schlecht:
- Welchen µC verwendet?
- Welche Taktquelle am µC?
- Eventuell Nullmodemkabel verwendet?
- Massen verbunden?
- µC sicher korrekt mit dem PC verbunden, also vermutlich über 
Pegelwandler?
Gast #1678571
Lesenswert?

> Welches Fusebit muss ich denn auf welchen Wert stellen, damit er
> bei 8MHz taktet? Ich dachte, dass diese Rate standartmäßig eingestellt
> sei.

Das RTFM vom mega8515 sagt, dass per default 1.0MHz eingestellt ist 
(Fußnote 1 in Tabelle 12 in [1]). Ergo stell mal die Fuses richtig ein, 
dann klappt das auch mit dem UART :-)

HTH

[1] http://atmel.com/dyn/resources/prod_documents/doc2512.pdf
Gast #1678730
Lesenswert?

> daher lässt sich nicht mit sicherheit sagen, ob die fuses nicht dafür
> angepasst wurden.

Ui, da hat potenziell schon jemand an den Fuses rumgespielt? ..noch ein 
Grund mehr, die gemäß RTFM auf bekannte (und gewünschte) Werte zu setzen 
;-)

Ansonsten kann ich nur auf die AVR-Checkliste verweisen [1]

HTH und nix für ungut

[1] http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART
Gast #1679173
Lesenswert?

Dennis Brenzel schrieb:
> So, hab jetzt den internen Takt auf 8 MHz gestellt. War in der Tat auf 1
> MHz.

Ich verstehe nicht, warum du nicht das angebotene Feature vom STK500 
einer wählbare externe Taktfrequenz, natürlich quarzstabil, nutzt. Z.B. 
auf den angebotenen 3.686MHz, damit sollte eine UART-Verbindung mit 9600 
problemlos möglich sein.

Alternativ kannst du versuchen herauszubekommen, auf welcher Frequenz 
dein Oszillator tatsächlich schwingt (Pin toggeln lassen und messen) und 
dann die Parameter für die UART-Register entsprechend anpassen.
#1687515
Lesenswert?

spess53 schrieb:

>>war da am STK kein Quarz dabei?
>
> Lt. Handbuch und meiner Erinnerung, nicht.

Der hier benötigte Quarz steckt am internen Controller des STK500 und 
der hat einen per Studio programmierbaren und per Jumper auf den 
Takteingang des steckbaren Controllers durchschaltbaren Taktausgang, der 
bis 3,68MHz geht. Also kann man ebendiesen Takt verwenden, wenn man mit 
UART arbeitet.
Gast #1687524
Lesenswert?

Hi

>Der Quarz steckt am internen Controller des STK500....

Meine Aussage bezog sich auf:

>ich meine mich zu erinnern, dass da in der Packung, gleich neben dem Manual
>einer war.

>und der hat einen per Studio programmierbaren und per Jumper auf den
>steckbaren Controller >durchschaltbaren Taktausgang, der bis 3,68xxxMHz
>geht.

Auch schon mal nachgemessen?

MfG Spess
Gast #1687541
Lesenswert?

Hi

Du brauchst mit das STK500 nicht erklären. Ich hatte vor etlichen Jahren 
mal die angezeigten Frequenzen nachgemessen. Und wenn ich mich recht 
erinnere gab es da, für mich unakzeptable, Differenzen.

MfG Spess
#1687551
Lesenswert?

spess53 schrieb:

> Du brauchst mit das STK500 nicht erklären.

Habe ich deshalb auch nicht ;-).

> Ich hatte vor etlichen Jahren
> mal die angezeigten Frequenzen nachgemessen. Und wenn ich mich recht
> erinnere gab es da, für mich unakzeptable, Differenzen.

Yep, mir kam deine Frage auch komisch vor (deshalb der Edit). Und habe 
mal die Bezeichnung von dem Ding gegoogelt. Das Manual nennt das zwar 
einen crystal, aber die Bezeichnung passt zu einem handelsüblichen 
Keramikschwinger und der darf schon seine 0,5% Abweichung haben. Für 
eine Uhr ist das nix, für UART ist es ok.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren