tu mal die quarzfrequenz richtig im programm deklarieren das ist wichtig sonst berechnet Bascom die baudrate falsch
§crystal = 3686400
Hi
Ich habe ein myAVR board (www.myavr.de) mit ATmega8L chip den ich in Bascom programmiere.
folgendes problem:
Wenn ich mit print etwas im terminal ausgeben will kommt nichts an.
Das Kabel habe ich schon getestet (Rx mit Tx verbunden): funktioniert wunderbar.
Die Terminal einstellungen sind auch auf standart.
Komischerweise kann ich was empfangen wenn ich den Tx-pin vom Chip direkt mit einem Draht mit dem Rx-Loch des Kabelsteckers verbinde.
Allerdings kommt dann nur irgentwas kryptisches an ;(
also folgender code:
und im terminal kommt das hier an:Code:$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Do Print "Test" Wait 1 Loop
...StTëUStTëUStTëUStTëUStTë...
ansonsten funktioniert der chip super...
ich wäre sehr dankbar für ein paar nützliche tips... bin nämlich schon am verzweifeln... danke
tu mal die quarzfrequenz richtig im programm deklarieren das ist wichtig sonst berechnet Bascom die baudrate falsch
§crystal = 3686400
eigentlich sollten die 8MHz stimmen... der chip stand nämlich auf "internal 8MHz"... jetzt hab ich ihn auf "external" gestellt und er reagiert nicht mehr! ;(
"could not identify chip"... hab ich ihn jetzt gefetzt?
also soweit ich weiß hat der m8 einen internen 1MHz oscillator und keine 8MHz... wenn du den internen osci nimmst musst du diesen kalibrieren um einen saubere baudrate zu erhalten... die myAVR-boards werden so weit ich weiß standardmäßig auf externen quarz geschaltet und auch so ausgeliefert... du hast an den fusebits rumgefingert? hast du das mit dem programm von myavr gemacht oder mit bascom... wenn du es mit Bascom gemacht hast ist die wahrscheinlichkeit groß das du die falsche kombination der bits gewählt hast und dann ist der m8 erst mal für dich totdenn ich denk mal du hast ihn auf external oscillator gestellt und das ist definitiv falsch denn du hast keinen externen oscillator dran sondern einen externen quarz !!! sollte das so sein kommst du so erst mal nicht weiter... es sei denn du willst dein myavrbord umbauen
gruß jahn
Der M8 hat einen internen 8MHz Resonator.Zitat von Jahn Kohlhas
Henrik
ich hab die fusebits mit dem Bascom Programmer umgestellt...
wie gesagt stand es vorher auf "internal 8MHz" und damit hat eigentlich alles funktioniert (auch servos)...
umgestellt hab ich ihn auf "external irgentwas"... ich weiss leider nicht mehr, was da genau stand, weil ich ja jetzt garnicht mehr zu den fusebits komme ;(... aber es war glaube ich der erste eintrag in der auswahlliste...
auf was hätte ich es denn stellen müssen?
kann man den chip nicht irgentwie hardwaremäßig resetten..?
hm, alos im m8 datenblatt von Atmel steht das hier
The device is shipped with CKSEL = “0001” and SUT = “10” (1 MHz Internal RC Oscillator, slowly rising power).
man kann ihn umschalten auf 2, 4, oder 8 MHz aber das hat nix mit der werkseinstellung zu tun die liegt definitiv bei 1MHz ... dann muss er das teil ja schon mal umgeschalten haben... und wenn ist hier auch wieder die kalibrierung nötig, erschwerend kommt dazu das 8MHz ansich schon mal keine saubere baudrate zuläßt...
warum bist du nicht beim exterenen Quarz geblieben? der ist doch OK und du kannst lupenreine 0% fehler-baudraten erzeugen
wenn du die erste einstellung in Bascom genommen hast die wo extern dran stand hast du External Clock ausgewählt und das ist falschdas hat mit einem externen Quarz nix zu tun... die richtige einstellung wäre die letzte gewesen external XTAL das ist ein externer Quarz...
mensch an den fuse bits probiert man nicht rum! erst datenblatt lesen dann wenn man sich gaaaaanz sicher ist schraubt man an den fusebits... die foren sind voll von threads wo leute genau in dieses falle getappt sind
lösung wäre du lötest den quarz aus und baust dir eine taktquelle die ein TTL taktsignal erzeugt und hängts die an an XTAL1 (glaub ich... einfach ins datenblatt gucken) oder eben ein neuer m8...
gruß Jahn
alles klar...
fehler sind dazu da um aus ihnen zu lernen...
hab mir schon neue chips bestellt... (zur sicherheit gleich mal 3)...
ich hatte es auf intern gestellt, weil mit dem quaz die Servos glaub ich nicht funktioniert hatten...
danke für eure hilfe!
wieso sollen die Servos mit dem quarz nicht funktionieren? ... das wäre ja gleich mal die nächste baustelle zum helfen![]()
![]()
ich sag bescheid, wenn die neuen chips mit dem quarz die Servos nicht steuern können...
bis dann![]()
Lesezeichen