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
Max .x schrieb:> $crystal = 3686400
Das entspricht nicht 4Mhz.
zudem können die internen Oscis voneinander abweichen.
ggf. mal OscCal bytes in Betracht ziehen.
Gruss K.
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ß
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
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
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
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
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
oldmax schrieb:> Also Max punkt x, so wird das nix.....> Gruß oldmax
Merci,
ich fand den Spruch auch gewagt und prickelnd.
.. aber dass muss er halt wissen ob er sich das leisten kann.
Klaus
Große Verwirrung^^ Momentan läuft das Ding ja und macht auch was ich
will
Meinetwegen können wir uns wieder alle lieb haben und belassen das Thema
hier.
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