Hallo Forum, Zu erst einmal: Ich benutze das STK500 mit einem ATmega8535 und Bascom. Zwischen meinem PC und dem STK500 ist ein USB/Seriell Converter. Ich bin gerade dabei mit Bascom und RS232 zu experimentieren.Dazu habe ich wie beschreiben mein STK verkabelt und habe ein einfaches Programm dazu geschrieben,das "Hello World" ausgeben soll. Rausgekommen ist leider nur das im Anhang... Woran kann das liegen? (Ich hab mal gelesen man soll einen Quarz nehmen,aber bei meinem Versuch war ja nahezu kein einziges Zeichen richtig,abgesehen davon ist das Kabel zum PC gerademal 1,5m lang) MfG Jonathan
Jonathan M. schrieb: > Woran kann das liegen? Das deine Taktfrequenz des µC nicht mit der übereinstimmt, mit der BASCOM die UART eingestellt hat. > (Ich hab mal gelesen man soll einen Quarz nehmen,aber bei meinem Versuch > war > ja nahezu kein einziges Zeichen richtig, Ja, so ist das. Wobei es erstaunlich ist, dass die Anzahl der Zeichen pro Zeile übereinstimmt und der Zeilenvorschub scheinbar immer richtig ist.
Hallo, Danke für die schnellen ANtworten. @cyblord ----: Ja @ Karl Heinz Buchegger: Ich hab in allen Einstellungen von Communcation bis zu den Fuse-Bits die einzelnen Frequenzen überprüft. Was ich komisch finde ist,dass statt dem "W" von "World" immer so ein Pfeil ist.Bei falscher Frequenz von dem RC Oszillators müssten da doch willkürliche Werte kommen !? MfG Jonathan
Das sieht fast so aus als ob die Daten um ein Bit verschoben wären. Allerdings erklärt das den korrekten Zeilenumbruch nicht. Schon merkwürdig irgendwie.
Jonathan M. schrieb: > Was ich komisch finde ist,dass statt dem "W" von "World" immer so ein > Pfeil ist.Bei falscher Frequenz von dem RC Oszillators müssten da doch > willkürliche Werte kommen !? Das ist schon richtig, dein RC Oszillator scheint zumindestens auf einer festen Frequenz zu laufen :) Die High/Low Folge, die von deinem Controller auf der RS232 gesendet wird, sieht immer gleich aus. Da der PC immer die gleiche "Maske" benutzt um diese Folge zu entschlüsseln, sieht die Antwort auch immer gleich aus. Welchen Takt und welche Baudrate hast du denn eingestellt?
Hi
>Das sieht fast so aus als ob die Daten um ein Bit verschoben wären.
Nicht direkt verschoben. Bit7 ist gesetzt. Die unteren Bits (nicht alle
überprüft) stimmen (meist).
MfG Spess
So,wer mein Programm sehen will: $regfile = "m8535.dat" $crystal = 1000000 $baud = 2400 $hwstack = 40 $swstack = 16 $framesize = 32 Do Print "Hello World" Waitms 500 Loop Obwohl das wahrscheinlich nichts nützen wird...
Das ist ╚ Õ ý ý ´ Î ´ r ý d C8 E5 EC EC EF 20 D7 EF 72 EC 64 bzw. ╚ Õ ý ý ´ Î = r l õ C8 E5 EC EC EF 20 D7 2D 72 6C E4 Gewünscht ist H e l l o W o r l d 48 65 6C 6C 6F 77 6F 72 6C 64 Was fällt auf? Fast immer wenn es schiefgeht, ist Bit 7 gesetzt. --> Baudratenproblem.
Gut zu wissen :-) Aber was und vor allem WO soll ich da was ändern? Mfg Jonathan
Takt mit Quarz stabilisieren, nicht den internen RC-Oszillator verwenden. Quarzfrequenz so wählen, daß der Baudratenfehler so gering wie möglich ist. Siehe "Wichtiger Hinweis 2" unter http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART#UART_konfigurieren
Hi
>Aber was und vor allem WO soll ich da was ändern?
Hast du einen Quarz herumliegen?
MfG Spess
Ok,das heisst das der interne Oszillator praktisch so gut wie dauern STABIL auf einer anderen Frequenz läuft. Und dann noch eine Frage: In dem "Wichtiger Hinweis 2" steht,man kann den RC Oszillator auch kalibrieren.Da ich gerade keinen Quarz habe....ist das überhaupt sinnvoll?
a) noch bequemer als ein (einfacher) Quarz ist ein Quartzgenerator, so ein 4-beiniges Ding. Der schwingt wirklich immer an. Einzuspeisen in einen der Quartzanschlüsse des Mega ... b) wenn sowas nicht zur Hand, einfach (zum Test) die Baudrate noch weiter senken c) irgendwo gab es doch auch noch eine Methode, den RC-Oszi zu "kalibrieren" ... weiss nur im Moment nicht wie. Nimms als Stichwort ...
Also bei mir ging bisher wirklich JEDER AVR mit einer Baudrate =<9600 Baud auch mit internen Oszillator ohne Probleme und ohne Kalibireren. Ich glaube einfach nicht dass ein derart konstantes Problem von der Ungenauigkeit des internen Oszillators herührt. Das ist keine zufällig auftretende Störung, es muss sich um ein generelles Problem handeln. gruß cyblord
Jonathan M. schrieb: > In welchem Frequenzbereich sollten die denn sein? Es sind die "Baudratenquartze". Deren Wert ist immer ein Vielfaches von 14400. Google weis genaueres.
@ Jonathan M. (jona) >Ok,das heisst das der interne Oszillator praktisch so gut wie dauern >STABIL auf einer anderen Frequenz läuft. Mehr oder weniger. >Und dann noch eine Frage: >In dem "Wichtiger Hinweis 2" steht,man kann den RC Oszillator auch >kalibrieren. Ja, mit dem OSCCAL Register. >Da ich gerade keinen Quarz habe....ist das überhaupt >sinnvoll? Kann man machen für einen schnellen Test.
Ich habe jetzt mal die Baudrate auf 1200 gesetzt........ Das Ergebnis: Die "Wahrscheinlichkeit",dass 7 Buchstaben richtig sing und am richtigen Ort sind wird größer. (Blick auf Kühlschrank schweifend :DDD)
@ Jonathan M. (jona) >Ich habe jetzt mal die Baudrate auf 1200 gesetzt........ >Das Ergebnis: >Die "Wahrscheinlichkeit",dass 7 Buchstaben richtig sing und am richtigen >Ort sind wird größer. 9600 Baud gehen mit 1 MHz sowieso nicht, weil der Teilerfaktor zu krumm ist, 6,5irgendwas. 1200 Baud sind schon mal 26,0x, da spielt nur noch der Oszillatorfehler rein.
RTFM schrieb: > "Baudratenquartze". Deren Wert ist immer ein Vielfaches von 0,0144 MHz Dann ergibt das so Werte wie 3,6864 MHz 7,3728 MHz usw.
1 | When the XTAL1 jumper is mounted, the STK500 internal clock system is used as main |
2 | clock to the target AVR. The internal clock system can either use a crystal in the |
3 | on-board crystal socket or a software-generated clock from the master microcontroller. |
4 | The frequency of the software-generated clock can be set from 0 to 3.68 MHz. The |
5 | default value is 3.68 MHz. Section 5.3.5.3 on page 5-7 explains how to set the clock frequency |
6 | from AVR Studio |
Aha Sorry,habs nicht gewusst.Ich werde mir dann aber mal nen Qurz besorgen und es dann ausprobieren. Danke für alle Antworten! MfG Jonathan
@ Jonathan M. (jona) >Sorry,habs nicht gewusst.Ich werde mir dann aber mal nen Qurz besorgen >und es dann ausprobieren. Was zum Geier hindert dich daran, den Jumper JETZT richtig zu setzen und den Takt per Software am STK500 JETZT richtig einzustellen?
Dass der Jumper RICHTIG sitzt und erst lesen muss wie ich es einstelle, weil ich mit dem AVR Studio keine Erfahrung habe.
Hallo nochmal, Gerade habe ich in der Anleiung fürs STK500 gelesen und das hier gefunden: 5.3.5.3 Oscillator The STK500 development board uses a programmable oscillator circuit that offers a wide range of frequencies for the target device. Since it is not possible to generate an unlimited number of frequencies, the STK500 user interface will calculate the value closest to the value written to the oscillator text box. The calculated value is then presented in the oscillator text box, overwriting the previously written number. Aber wo ist diese "oscillator text box"? MfG Jonathan
Jonathan M. schrieb: > Hallo nochmal, > Gerade habe ich in der Anleiung fürs STK500 gelesen und das hier > gefunden: > > 5.3.5.3 Oscillator The STK500 development board uses a programmable > oscillator circuit that offers a > wide range of frequencies for the target device. > Since it is not possible to generate an unlimited number of frequencies, > the STK500 > user interface will calculate the value closest to the value written to > the oscillator text > box. The calculated value is then presented in the oscillator text box, > overwriting the > previously written number. > > Aber wo ist diese "oscillator text box"? Wo der in BASCOM ist, weiss ich nicht. Aber im AVR-Studio (4-er) ist er wohl im Programmierdialog im Reiter "HW-Settings". Da gibt es einen schönen Schieber, mit dem man die Einstellung machen kann.
Hi, Den "Schieber" kenne ich.Hab mich schon zehn mal gefragt,wozu der gut ist...jetzt weiß ich es.Danke! MfG Jonathan
Hallo Leute, Soooo,nach ein bisschen Frequenz-und Versorgungsspannungsfummeln sieht das Ergebnis jetzt aus wie im Anhang! Danke an alle und vor allem an Falk Brunner wegen seinem Hinweis :-) Bis zum nächsten Mal... MfG Jonathan
Jonathan M. schrieb: > Bis zum nächsten Mal... Bis dahin kannst Du ja auch mal lernen, daß man den Text, der in einem Terminalfenster zu sehen ist, auch direkt als Text in die Zwischenablage kopieren kann, und daß Screenshots nicht als JPG-Datei zu erstellen sind. Letzteres steht auch deutlich unter dem Eingabefeld für das Hochladen von Dateien: > Bitte das JPG-Format nur für Fotos und Scans verwenden! > Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.