Atmega8 senden unterschiedliche Zeichen

OP #2233476
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
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
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
OP #2233482
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
#2233486
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.