mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Seltsame RS232 - Ausgabe


Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht 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:

$regfile = "m8515.dat"                                      
$crystal = 8000000                                         
$baud = 9600

DO
    Print "Hallo Welt"
    Wait 1
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.

Autor: Mh. M. (mhm)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
µC ist der mit dem STK500 mitgelieferte ATmega8515L.
Taktquelle ist intern.
Wenn das mitgelieferte Programmierkabel Nullmodem ist, dann ja.
Massen sind verbunden.
µC auch sicher verbunden.

Baudrate ist auf beiden Seiten 9600.

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mal die fuses angeschaut, was für einen takt der interne macht?
ich würde auf 1MHz wetten

Autor: El Jefe (bastihh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde eher einen externen Baudratenquarz nehmen, in deinem Falle 
müsste es mit 7,3728 MHz gehen.

Grüße

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An den Fusebits hab ich zwar nicht rumgespielt, aber ich check das mal.

Autor: Mh. M. (mhm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dennis Brenzel schrieb:
> Taktquelle ist intern.

Ja, und da wird vermutlich das Problem liegen: Verwende mal einen 
externen Quarz oder einen Quarzoszillator, dann wird es vermutlich 
passen.

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum kann ich denn nicht den internen Taktgeber verwenden?

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weil jetzt gleich alle sagen werden, dass der zu ungenau ist...
jungs, für 9600 bei zimmertemperatur auf einem stk tut ers schon.
10eur, dass das problem woanders liegt.

Autor: peterfido (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du an den Fuses nichts verstellt hast, dann probier als Takt mal 
1000000 statt 8000000.

Autor: Dennis Brenzel (danrulz81)
Datum:

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

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
standard kannst du aus dem datenblatt lesen.
ansonsten: google doch mal nach avr fuse calculator, falls du nur eine 
hex-ausgabe bekommst.

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Fuse Calc ist super, nur verwende ich kein AVRdude.

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du willst uns jetzt aber nicht sagen, dass du avr studio verwendest, 
oder?

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, ich spiele seit Freitag mit Bascom rum.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der atmel, der beim stk500 mitgeliefert wird, hat ein demoprogramm 
drauf.
daher lässt sich nicht mit sicherheit sagen, ob die fuses nicht dafür 
angepasst wurden.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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_Checkl...

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab jetzt den internen Takt auf 8 MHz gestellt. War in der Tat auf 1 
MHz. trotzdem bekomm ich folgende Ausgabe:
TasÃer 7 gedrüc¿z

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DAS kann jetzt der zu schlechte interne oszillator sein.
wenn du mit der baudrate runtergehst und die fehler dabei weniger 
werden, wars das.

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, ich bin ja schon auf 9600. Viel weniger kann ich im Bascom nicht 
einstellen. Da werd ich wohl auf
>>7,3728 MHz
externen Oszi umsteigen müssen. Es war auch nur mal zum ausprobieren.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>DAS kann jetzt der zu schlechte interne oszillator sein.
>wenn du mit der baudrate runtergehst und die fehler dabei weniger
>werden, wars das.

Begründung!

MfG Spess

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon komisch, wenn man

Print "Hallo Welt"

ausgibt, und am PC kommt

"TasÃer 7 gedrüc¿z"

da muss noch was ganz anderes faul sein!!!!

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Hallo Welt" ist bei mir jetzt zu "Taster 7 gedrückt" mutiert.

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HildeK schrieb:
> Ich verstehe nicht, warum du nicht das angebotene Feature vom STK500
dazu müsste man das handbuch gelesen haben =)

Autor: Michael M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
>>wenn du mit der baudrate runtergehst und die fehler dabei weniger
>>werden, wars das.
>
> Begründung!

tatsache, die dürfte sich sehr schwierig gestalten... war eine antwort 
rein nach bauchgefühl.
sorry, mein fehler.

Autor: Dennis Brenzel (danrulz81)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz einfach, weil ich kein Quarz habe. Da bringt mir das lesen eines 
Handbuches auch nichts. :p

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ganz einfach, weil ich kein Quarz habe.

Wenn du dich ernsthaft mit µC beschäftigen willst, wirst du um Quarze 
nicht herumkommen.

MfG Spess

Autor: weinbauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
war da am STK kein Quarz dabei? ... ich meine mich zu erinnern,
dass da in der Packung, gleich neben dem Manual einer war.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>war da am STK kein Quarz dabei?

Lt. Handbuch und meiner Erinnerung, nicht.

MfG Spess

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:

> Auch schon mal nachgemessen?

Ok, der ist der Bezeichnung im Schaltbild nach zu schliessen wohl ein 
Kermikschwinger. Für UART ist dieses Detail irrelevant.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.