Gast
#147181
Fragen von einem Anfänger! Funktioniert USART mit dem internen Oszi. des AVR oder braucht man einen Quarz? Verwende STK 500, ATmega8515 Danke für die Hilfe
|
Anzeige
|
USART ATmega8515
Gast
#147181
Fragen von einem Anfänger! Funktioniert USART mit dem internen Oszi. des AVR oder braucht man einen Quarz? Verwende STK 500, ATmega8515 Danke für die Hilfe
Gast
#147182
Hi, die USARTs der AVR sind unabhängig von der Taktquelle verwendbar. Die Frage ist, ob du die Baudrate die du brauchst erzeugen kannst. Je nach Taktrate ist es nämlich so, dass übliche Baudraten nur mit großem Fehler erzeugt werden können. Es gibt jedoch für übliche Taktfrequenzen auch passende Baudraten. Wenn du also nicht durch die entsprechende Gegenstelle mit der dein USART kommunizieren soll auf eine bestimmte Baudrate eingeschränkt bist, dann geht es auch mit internem Oszillator. Nebenbemerkung: bei internem Oszi besteht eine größere Abhängigkeit der Taktfrequenz von Betriebsspannung und Temperatur. Bei großen zu erwartenden Schwankungen dieser Größen vielleicht doch besser einen Quarz verwenden... Grüße
Gast
#147183
Und Umgekehrt:Es gibt natürlich auch spezielle Quarz mit Taktraten, welche bei der Fehlerrate 0% schaffen :D
Gast
#147184
hallo zusammen! Danke für die rasche Antwort. Dann muß die Übertragung auch mit dem internen takt funktionieren. Für den atmega8513 interne freq. 3,686 MHz ergibt sich für UBRRL = 23 UBRRH = 0 AVR prog. - Kabel am STK 500 umgesteckt und nix tut sich am hyperterminal. Beim drücken der reset-taste erscheinen manchmal so komische sonderzeichen. Bitte um kontrolle - was habe ich falsch gemacht. Danke - b.steiner
Gast
#147185
Benutze lieber solche Programme wie "Comtest" von B&B für Terminal-Sachen (RS232-Tests). Da ich eher in C programmiere, kann ich nicht sagen, was an deinem Programm falsch läuft.Bin mir jetzt auch nicht ganz sicher, ob die von dir berechnete Zahl für UBBRL richtig ist. Ich lasse sie mir in der Regel durch ein Makro berechnen. Gruß Rahul
Gast
#147186
intern hast du doch keine 3,686 Mhz ich denke du verwechselst da was weil die besagten 3,686 Mhz ist die max Frequenz die vom stk generiert wird. Um das zu nutzen mußt du die fusebits richtig setzen und vielleicht auch noch die passenden jumper auf dem stk setzten. intern hat man doch nur 1,2,4,8 Mhz
Gast
#147187
Sebasitan - Danke mein 8515 war mit 1 MHz unterwegs
Gast
#147188
.... hab' gerade das gleiche Problem.... mein ATmega8 mit seinem internen Oszillator läuft auf 1 MHz (genau auf 997.688 Hz) Leider lassen sich nur Baud-Raten von 4800, 2400 und 1200 erzeugen. 9600 Bd geht theoretisch und praktisch nicht!! Du kennst sicherlich die Formel: oszillator/(16*Baud)-1 Das Ergebnis dieser Formel sollte möglichst ganzzahlig sein, sonnst stimmen die Bit-Zeiten nicht. Ich stell Euch mal eine Tabelle zur Verfügung.... Ach noch was, nur so als Tipp. Der COM port am Pc besitzt eine sogenannte Negativ Logik, d.h. loghisch 1 sind 0 Volt und logisch 0 sind +5 Volt
Gast
#147189
hallo bernhard deine tabelle war und ist sehr hilfreich. jetzt ist mir einiges klarer geworden. grup b.steiner Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|