- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Atmega8 läßt sich nicht umprogrammieren

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2008
    Ort
    61184 Karben
    Beiträge
    11
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Sauerbruch,

    habe das Testprogramm wie folgt geschrieben:

    $regfile = "m8def.dat"
    $crystal = 16000000
    $framesize = 32
    $hwstack = 8
    $swstack = 16
    $baud = 9600

    Ddrc.0 = 1

    Dim Zahl As Byte

    Config Timer1 = Timer
    On Timer1 Isr1
    Enable Timer1
    Enable Interrupts

    Do
    If Zahl = 20 Then
    Zahl = 0
    Toggle Portc.0
    End If
    Waitms 10
    Toggle Portc.0
    Loop

    Isr1:
    Zahl = Zahl + 1
    Timer1 = 15535
    Return

    End

    Die LED war dauernd an. Dann habe ich in die Loop Waitms 10 und Toggle geschrieben und die High Fuse auf D9 und die Low fuse auf C1 gesetzt und write an der Fuse-Zeile gedrückt. D9 - C2 bis D9 - C4 ---> write und jedesmal hat die LED schneller geblinkt. Die CPU hat die Frequenzwahl also angenommen. Jetzt hat mich der Teufel geritten und ich habe die Low Fuse von C4 auf DF gesetzt ( Ext. 16 Mhz) --> write. Nun hat die LED im 10 Sec. Abstand geblinkt. Als ich wissen wollte, was die CPU angenommen hatte und an der Fuse-Zeile read gedrückt habe, stand da nicht mehr D9 - DF, sondern DF - D9. Zur Verification habe ich wieder, renitent, wie ich bin, D9 - C1 (1 Mhz int) eingetippt und write gedrückt und die LED hat wieder langsam geblinkt. Mit C2 bis C4 wieder schneller. Jedesmal wenn ich read drücke, tauschen sich High und Low Bytes aus.
    Das verstehe einer, wer will.
    Gruß Lutz27

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Jedesmal wenn ich read drücke, tauschen sich High und Low Bytes aus.
    Das ist in der Tat putzig - und verstehen tu ich es auch nicht. Aber es scheint ja, als ob Du zumindestens mal einigermaßen sicher die Fuses setzen kannst, wie Du sie brauchst.

    Und wenn Du mal ein anderes Programm zum auslesen und schreiben der Fuses benutzt??

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2008
    Ort
    61184 Karben
    Beiträge
    11

    Atmega8 läßt sich nicht umprogrammieren

    Hallo Sauerbruch,

    also so sicher mit dem Fuses setzen bin ich mir da nicht. Habe heute den Tag über rumprobiert und den Original Chip (Hexfile) ausgelesen und abgespeichert und mir auch die Optionen genau aufgeschrieben. Danach habe ich einen neuen ATMEGA8 mit den Daten programmiert und er hat zwar funktioniert, aber nur jeden 4. Buchstaben gezeigt. Daraufhin habe ich das Lowfuse von DF (16 MHz/ +4ms) auf FF (16 MHz + 64ms) gesetzt und siehe da, es hat funktioniert. Von ELEKTOR habe ich mir der Quellcode bas - file heruntergeladen, ohne Änderung compiliert und versucht erneut mit genau den Optionen wie vorher zu flashen und das hat wieder nicht funktioniert, das heißt, die Anzeige war jeder 4. Buchstabe, egal, ob mit lowbyte DF oder FF.
    Eins habe ich gelernt, ich muß in den Fusebytes solange D9FF eingeben, bis im Text nach dem write Befehl steht Byte 0 ---> FF (lowbyte) und Byte 1 ---> D9 (highbyte). damit verfuse ich wenigstens die CPUs nicht mehr, auch wenn die Anzeige in den Fusebyte - Fenstern nicht stimmt. Wichtig ist, was unten links im Text steht.
    Aber das Ändern des Textes habe ich noch nicht hinbekommen, obwohl ich mindestens 10cm hochgesprungen bin, da ich jetzt schon 2 funktionierende CPUs habe.
    Gruß Lutz27

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test