Hallo zusammen, Ich habe in meinem STK500 einen ATTiny2313 auf dem angehängtes Programm läuft: Ein Byte wird aus dem USART gelesen und anschliessend wieder zurückgesendet. (alles in einer while schleife, die UART funktionen habe ich unverändert dem Datenblatt des 2313 entnommen) Einstellungen fürs UART am µC: 9600 Baud, 8 Bit Daten, 2 Stop Bits, 8Mhz internal RC Oscillator, startup 14CLK+65ms, spi enabled alles andere disabled (kein häckchen im AVR Studio) Auf dem PC läuft Br@y++ Terminal. Mit denselben Einstellungen wie im tiny bekomm ich nur <0> :( Nach viel rumprobieren hab ich allerdings rausgefunden: 300 Baud, 7 Daten Bits und 2 Stop Bits - es funktioniert! - darf ich fragen warum? BTW: kann mir vlt einer erklären wie das mit dem Oscillator Calibration byte im AVR Studio funktioniert? hab da so nen verdacht... thx pk
Hast du die 'CKDIV8' - Fuse 'rausgenommen? Mit dem internen Oszillator ist der UART-Betrieb Glückssache. Du solltest einen Quarz benutzen.
Hallo, der interne Takt ist nicht so das Wahre für den USART. Nimm nen externen Quarz dann sollte das bei 9600 Baud auch ohne Probleme gehen. Gruß
vielleicht so wrote: > Interner RC & UART ... keine gute Idee. stimmt :-( aber, wenn er zumindest mit dem AVR-Studio das CAL-Byte für seinen Takt ausliest, und dieses dann direkt ins EEPROM programmiert. Sollte er in seiner Init-Routine legendlich diese EEPROM - Adresse auslesen und den Wert im OSCAL-Register ablegen. Zumindest im Zimmer sollte er damit gut durchkommen :-) Ich hatte bis jetzt damit noch nie Probleme gehabt, und das mit einer 19200-8-N-1 Schnittstellen Konfiguration. Bye Andy
Hmm hab ja den tiny auf dem STK500, also flink die fuse auf "Ext. Crystal Osc. 8.0- MHz; startup 14CLK + 65ms" geändert, jetzt krieg ich mit vorigen Einstellungen "X@xX^~~", mit den gleichen wie am µC <0>.
Du kannst doch die vom STK generierte Standardfrequenz nehmen (3.64...MHz). Die ist 100% für die krummen Baudraten geeignet. Gruß, Matthias
Fuse gesetzt auf Ext. Clock; startup 14Clk + 65ms Auch mit Clock Generator auf 3686400 funktioniert es nicht (-> "<0>") Habe für X@xX^~~ vorhin übrigens "Hallo Welt!" gesendet.
@ Laurenz Altenmüller (panzerkeks) >Fuse gesetzt auf Ext. Clock; startup 14Clk + 65ms >Auch mit Clock Generator auf 3686400 funktioniert es nicht (-> "<0>") Du musst auch F_CPU auf den richtigen Wert im Quelltext setzen, neu compilieren und brennen. MFG Falk
@ falk hab ich gemacht. Hab spaßeshalber mal nen anderen 2313 probiert, bei dem ging allerdings nicht mal der trick mit den einstellungen (siehe 1.post) ?
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.