- LiFePO4 Speicher Test         
Ergebnis 1 bis 5 von 5

Thema: Bascom $initmicro und $noramclear zusammen geht nicht

  1. #1

    Bascom $initmicro und $noramclear zusammen geht nicht

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    ich habe ein Problem mit der Compilierung von folgendem kleinen Testprogramm.

    'Test Initmicro

    $crystal = 8000000
    $regfile = "m644def.dat"
    $baud = 38400

    $initmicro
    $noramclear

    Dim A As Byte

    Do
    A = 1
    Loop



    _init_micro:

    wdr

    Return



    Verwende ich $initmicro und $noramclear zusammen erhalte ich beim compilieren folgende Fehlermeldung:
    Access Violation At Address 01001b48 In Module 'BASC-AVR.DLL'. Read of address 00080197.

    Verwende ich jede Anweisung alleine klappt's.

    Bitte testen. Danke

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    Der Fehler kommt bei mir auch. Du kannst jedoch ganz am Anfang des Programmes per
    Code:
    $asm
    wdr
    $end asm
    $crystal = 8000000
    $regfile = "m644def.dat"
    $baud = 38400 
    ...
    ...
    den Watchdog zurücksetzen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Hallo,

    Danke fürs Testen.

    Dieses wdr wird erst nach den compilerinternen Initialisierungen, wie Initlcd eingefügt.

    Dies ist jedoch beim Atmega644 zu spät. Der Controller kommt nach einem Watchdog-Reset nicht mehr zum laufen, da anscheinend der Watchdog weiterläuft.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    52
    Beiträge
    765
    Das Beispiel zum Watchdog deaktivieren in den ersten 4 Taktzyklen aus dem Datenblatt läuft bei mir, wenn ich den Code ganz an den Anfang setze. Evtl den WD etwas "träger" konfigurieren...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  5. #5
    Hallo,

    wenn ich $noramclear weglasse wird automatisch ein wdr am Anfang des Codes eingefügt und das Programm läuft problemlos an.

    Ein wdr am Anfang meines Programm wird aber erst nach den Initialierungen(LCD) eingefügt und das Programm läuft nach einem Watchdogreset nich mehr an.

    Da ich aber $noramclear nutzen möchte, benötige ich auch $initmicro.

Berechtigungen

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

Labornetzteil AliExpress