Forum: Mikrocontroller und Digitale Elektronik ATtiny2313 sendet über UART falsch, AVR DRAGON prog falsch


von Markus E. (schreckenstein)


Lesenswert?

Hallo Zusammen,
ich habe ein ganz simples Programm unter BasCom geschrieben:

' ** 8 MHz Quarz
$crystal = 8000000
$baud = 9600

config portA=output
do
Print "Hallo Welt"
  toggle portA
  waitms 1000
loop

Das Programm läuft mit dem ATmega8 einwandfrei ohne Probleme.
Beim ATtiny2313, Interner Oszi auf 8MHz, sendet der Baustein nur 
unsinniges. Diverse Versuche mit unterschiedlichen Einstellungen der 
Frequenz und der Baudrate, falls Compilerfehler brachten nichts. Auch 
die interne Fuse wo der Takt durch 8 geteilt wird ist ausgeschaltet.
Probleme gab es auch mit dem Programmer AVR DRAGON, wenn ich mit dem 
gebrannt habe kam nach einmaliger Ausgabe über die UART nichts mehr.
Das einzige was immer funktioniert hat war die LED über PortA die ihren 
Zustand geändert hat. D.h. das Programm ist nicht gehangen. Trotzdem kam 
beim AVR DRAGON gebranntem Programm (debugWIRE eingeschaltet) eine 
kontinuierliche UART-Ausgabe nicht zustande. Erst beim Programmieren mit 
ISP über STK500 lief die UART-Ausgabe kontinuierlich aber völlig falsche 
Ausgaben.
Hat jemand ähnliche Probleme mit AVR DRAGON und ATtiny2313 UART?
Danke
Markus

von Magnus Müller (Gast)


Lesenswert?

Weiss Bascom, dass der Code jetzt auf einem ATtiny2313 laufen soll?

von Markus E. (schreckenstein)


Lesenswert?

Hallo,
ja ich habe schon

      $regfile = "ATtiny2313.DAT"
bzw. $regfile = "m8def.DAT"

angegeben. Auch unter Optionen entsprechend eingestellt, zur Sicherheit.
Grüße
Markus

von Hannes L. (hannes)


Lesenswert?

Quarz angeschlossen?
Quarz angemeldet (Fuse)?

...

von Markus E. (schreckenstein)


Lesenswert?

Hallo,

ja bei der internen Fuse Int RC OSz 8 MHz ist der Haken gesetzt, kein 
externer Quarz angeschlossen.
Grüße
Markus

von Magnus Müller (Gast)


Lesenswert?

Markus El wrote:
> Hallo,
>
> ja bei der internen Fuse Int RC OSz 8 MHz ist der Haken gesetzt, kein
> externer Quarz angeschlossen.
> Grüße
> Markus

Interner RC-Oszillator zusammen mit U(S)ART-Kommunikation ist immer 
eine unsichere Angelegenheit!

Siehe auch:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART#Senden

von Hannes L. (hannes)


Lesenswert?

Magnus Müller wrote:

> Interner RC-Oszillator zusammen mit U(S)ART-Kommunikation ist *immer*
> eine unsichere Angelegenheit!

Aber leider gibt es hier immer wieder Leute, die das Gegenteil 
behaupten, ein Grund dafür, warum ich zu diesem Thema nur noch nachfrage 
und keine Ratschläge (z. B. Baudratenquarz) mehr gebe. ;-)

...

von Markus E. (schreckenstein)


Lesenswert?

Hallo Zusammen,

also vielen Dank für die Hilfe, es war tatsächlich der interne RC-Oszi.
Mit einem externen Quarz lief UART einwandfrei. Ich habe mich davon in 
die Irre leiten lassen daß die ATmega8 und ATmega32 mit ihren internen 
RC-Oszis einwandfrei die UART ansteuerten. Mit den ATmega hatte ich 
sogar bei mehreren Bausteinen bisher keinerlei Probleme damit.
Grüße
Markus

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
Noch kein Account? Hier anmelden.