Atmega8 senden unterschiedliche Zeichen

OP #2233476
Lesenswert?

Hallo,

ich bin schon fast am Verzweifeln. Ich habe hier drei Atmega8s.
Alle haben das gleiche Programm un dich stecke die Controller lediglich 
in ein STK500 - ansonsten bleibt alles gleich
1
$regfile = "m8def.dat"
2
$crystal = 3686400
3
$baud = 19200
4

5

6
Dim I As Integer
7
I = 0
8
Do
9
I = I + 1
10
Print "Test" ; I
11
Wait 1
12
Loop
13
End

Die Fusebits habe ich verglichen und die Frequenzen 4MHz Int RC Osz sind 
bei allen drei eingestellt.

Nun kommen aber nur bei einem die richtigen Zeichenketten an zB
Test1
Test2

bei den anderen beiden erscheinen hinter  dem "Test1" noch zwei 
"Klötzchen"


Was kann man denn da noch einstellen bzw wo könnte der Fehler liegen????

Vielen Dank wenn jemand da eine Idee hat
Angehängte Dateien:
#2233478
Lesenswert?

Moin,

Max .x schrieb:
> Die Fusebits habe ich verglichen und die Frequenzen 4MHz Int RC Osz sind
> bei allen drei eingestellt.

Schlechte Idee den internen Takt zu nehmen. Der ist nicht sehr genau und 
eigentlich für Rs232 ungeeignet (sofern nicht über das calibration 
Register angepasst wurde).

Zudem schau dir mal diese Codezeilen an:
1
$regfile = "m8def.dat"
2
$crystal = 3686400
3
$baud = 19200

Na fällt dir was auf ?!
Du benutzt interne 4MHz und sagst im Programm, das dein Takt 3,6864MHZ 
hat.

Gruß
OP #2233480
Lesenswert?

Ich habe das aber noch nie anders gemacht und habe das STK500 nun schon 
etliche Jahre.
Ich hatte da noch nie einen zusätzlichen Quarz angeschlossen.
Was müsste ich denn ändern bzw wie lässt sich das mit dem calibration 
register anpassen?
ich habe das schon im AVR Studio gesehen, aber da kann ich nur 
verscheidene Werte auslesen für 1MHz, 2MHz, 4Mhz, 8MHz

EDIT:
Ich habe jetzt mal die Zeile $crystal = 3686400 rausgenommen und nun 
funktionierts.
Nur sind die 4MHz ja nicht sehr genau um die Baudrate zu nutzen. Da ist 
ja diese krumme Frequenz idealer.
In der Schaltung später nehme ich ja auch keinen 4Mhz sondern die 
3,68MHz

Wie funktioniert denn das mit dem Kalibrieren, Bei dem einem AVR gings 
ja  und davor komischerweise auch^^
Habe auch schon verschiedene Netzteil etc getestet
#2233486
Lesenswert?

Max .x schrieb:
> OK, ich habe es gefunden. danke für den Denkanstoß
>
> man muss wohl einen externen Quarz beim avr studio auswählen, dann
> klappts auch wieder mit der krummen Frequenz.
> Warum dieser eine AVR dann aber doch anders auch funktioniert ist mir
> noch ein Rätsel

Jetzt kommt Avr Studio ins Spiel ?
Dein Quelltext war Bascom !

Ich bezweifele stark, dass du das Problem gefunden und verstanden hast.
Es wohl wieder so ein Zufallstreffer.

Gruss Klaus
Gast #2233491
Lesenswert?

Hi
> Ich habe das aber noch nie anders gemacht und habe das STK500 nun schon
> etliche Jahre.
Na das ist ja mal ein Argument, welches immer wieder bestätigt, das die 
Experten alle nur hochgesteckt daherreden und den Anfänger mit möglichst 
viel Tricks und Kniffen verunsichern wollen.... Sorry, aber das muß ich 
mal loswerden. Du schreibst, das du dich wunderst, das deine Controller 
unterschiedlich arbeiten und dann die unschlagbare Antwort:
> egal, ob du es bezweifelst...es funktioniert

Also Max punkt x, so wird das nix.....
Gruß oldmax
Gast #2233493
Lesenswert?

Max .x schrieb:
> In der Schaltung später nehme ich ja auch keinen 4Mhz sondern die
>
> 3,68MHz

In Deiner Schaltung ist dann aber ein entsprechender Quarz verbaut ? Für 
mich hörte es sich ein bischen so an, als wenn Du meintest mit der 
Anweisung

Max .x schrieb:
> $crystal = 3686400

die Taktfrequenz des MC einzustellen.... dem ist nicht so.... das ist 
nur die Information für Deinen Compiler, wie schnell denn Dein Takt ist, 
den Du anderweitig (intern, extern) eingestellt hast.

Wenn ich Dich falsch interpretiert habe, ziehe ich meine Aussage zurück.

Gruß
Tom
Gast #2235051
Lesenswert?

Hi
So ganz kann ich deine Reaktion nicht verstehen. Natürlich funktioniert 
eine serielle Verbindung auch ohne externen Taktgeber. (Quarz) aber eben 
nicht stabil. Wenn jetzt bei 20° C dein Projekt Ergebnisse liefert, it 
es bei 25° C oder 14° C nicht garantiert.... So in der Richtung haben 
die Antworten gezeigt. Vielleicht nicht so deutlich.
>Meinetwegen können wir uns wieder alle lieb haben und belassen das Thema
>hier.
Das zeigt, das du vermutlich ein großes Problem mit vernünftiger 
Kommunikation hast. Es hätte gereicht, wenn du mitteilst, das dein 
Problem gelöst ist. Und für andere, die mitlesen und ähnliche Probleme 
haben, vielleicht auch noch die Ursache es Fehlers. aber
>Große Verwirrung^^ Momentan läuft das Ding ja und macht auch was ich
>will
zeigt auch, das du selber nicht weißt, warum und das bedeutet auch, das 
dein Projekt unzuverlässig ist. Wie auch immer, ich laß mich denn doch 
nochmal zu einem Kommentar hinreißen:
"Solche Mtmenschen liebe ich....."
Gruß oldmax

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren