- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 7 von 7

Thema: atmega32 lässt sich nicht richtig Programmieren

  1. #1

    atmega32 lässt sich nicht richtig Programmieren

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    Bin Anfänger auf diesem Gebiet und weiss im Moment nicht mehr weiter.
    Hab das RN-Control 1.4 fertig aufgebaut gekauft mit dem passenden Prog kabel und dem RS232 Kabel . Hab das Set jetzt schon ca. 3 Monate und konnte schon bißchen ausprobieren bin im moment dabei eine Verbrausanzeige für ein Motorboot zu bauen, die den Momentan und den Gesamtverbrauch anzeigen soll. Das ganze hat auch schon funktioniert aber im moment lässt sich der Atmega32 aus unerklärlichen Gründen nicht mehr richtig Programmieren. Kleiner Programme wie zB. Led blinken lassen gehen problemlos aber bei größeren kommt immer der Fehler Difference at XXX und das Programm funktioniert nicht. Hab mittlerweile 2 Atmega32 gehen aber beide nicht richtig, hab jetzt auch schon paar mal probiert die fusebits umzustellen (also zwischen internen und externen Takt) aber ohne Erfolg. Hoffe ihr könnt mir helfen. Hier mal das Prog das ich schonmal am laufen hatte jetzt aber nicht mehr funzt :

    Code:
     $regfile = "m32def.dat"
     $framesize = 32
     $swstack = 32
     $hwstack = 32
     $crystal = 16000000
     $baud = 9600
    
    
    
    Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
    Config Lcdbus = 4
    Config Lcd = 16 * 2
    Cls
    Initlcd
    
    
    Config Timer1 = Timer , Prescale = 1024
    Enable Timer1
    On Timer1 Isr_von_timer1
    Timer1 = 37410
    
    
    
    
        Enable Int2
        Enable Interrupts
        Config Int2 = Falling
        On Int2 Int2_int
    
        Dim Gesamt1 As Long
        Dim Moment1 As Long
        Dim Moment2 As Single
        Dim Gesamt2 As Long
        Dim Wandler1 As Single
        Dim Ausgabe1 As String * 4
        Dim Ausgabe2 As String * 4
        Moment1 = 0
    Readeeprom Gesamt1 , 1
    
    Do
    
    
    Writeeeprom Gesamt1 , 1
    Gesamt2 = 250000 - Gesamt1
    Wandler1 = Gesamt2 / 2500
    Ausgabe1 = Fusing(wandler1 , "#.#")
    
    
    
    Cursor Off
    Upperline
    Locate 1 , 1
    Lcd "              "
    Locate 1 , 1
    Lcd "Tank   " ; Ausgabe1 ; " %"
    
     Loop
    
    
    Int2_int:
    Incr Gesamt1
    Incr Moment1
       Return
    
    
    
    Isr_von_timer1:
    
    
    Moment2 = Moment1 / 5
    Ausgabe2 = Fusing(moment2 , "#.#")
    Locate 2 , 1
    Lcd "              "
    Locate 2 , 1
    Lcd "Verbr.  " ; Ausgabe2 ; " l/h"
    
    Moment1 = 0
    Timer1 = 37410
    
    Return

  2. #2
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Mögliche ursachen, siehe:
    https://www.roboternetz.de/wissen/in...oard_FAQ-Seite

    Zudem aufpassen das möglichst andere Programme auf dem PC geschlossen werden. Es gibt einige Programm die das ISP Timing oder den Druckerport stören.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Dei Seite von Frank listet ja schon alles aus, was es gibt was nicht stimmen könnte.

    Ich will da nur nochmal auf den Punkt 5.8 (Quarz) hinweisen.
    Beim ersten mal Fusebits setzen hatte ich auch diese Meldung.
    Das Problem was das was viele schon hatten und viele noch haben werden.
    AVR ist gekauft, ISP gebaut, Programm geschrieben, jetzt mal schnell ein Erfolg sehen wollen.
    Dazu erstmal Fusebits einstellen (JTAG aus, Quarz an, ...)
    Bei Quarz an habe ich die Einstellung für einen externen Quarzoszilator gewählt. Es war aber nur ein normaler Quarz angeschlossen

    Soll auch nur bedeuten, das diese Meldung auch mit einem defekten Quarz zu tun haben kann, oder mit den Kondensatoren für den Quarz (idR 22pF oder 15pF).
    Vielleicht schwingt der Quarz nicht richtig an. Quarz tauschen, evtl Kondensatoren tauschen oder erstmal nur die Spannungsversorgung neu anlegen.

  4. #4
    Vielen Danke für eure schnelle Hilfe! Bin grad am durcharbeiten vom FAQ hoffe das, dass passende dabei.

    Gruß

  5. #5
    Hab den Fehler gefunden wäre vieleicht auch ein Punkt fürs FAQ.
    Hab vor geraumerzeit mal einen Drucker am Parallelport installiert, solang der Drucker im Windows eingerichtet ist, kommt es zu den oben geschilderten Problem. Hab das ganze an meinem Zweitrechner ausprobiert der auch einen Drucker am parallelport installiert hat dort trat das selbe Problem auf.


    Gruß

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Hmm, das Problem tritt im übrigen nur bei primitiven ISP Adaptern auf, welche nur funktionieren können, da die parallele Schnittstelle von programmen ala Ponyprog & Co vergewaltigt wird.

    Die besseren ISP Adapter, welche mit der ATMEL Appnote 910 / 911 kompatibel sind haben dieses Problem im übrigen nicht.
    Des weiteren bieten diese Adapter den Vorteil den Mikrocontroller mit der standartsoftware (AVR Studio) programmieren zu können.
    Mit dieser ist die Programmierung der Fusebits im übrigen ein Kinderspiel ... sprich Selbsterklärend.

    PS: Das sollte jetzt nicht abwertend gegenüber diversen Programmierdongles sein.

    Grüße,

    da Hanni.

  7. #7
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Das mit dem Drucker hab ich noch in die FAQ reingenommen, war aber bei mir noch nie aufgetreten.

Berechtigungen

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

12V Akku bauen