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

Thema: Watchdog verbeißt sich unbegrenzt (RNControl, mega1284P)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Probiers mal hiermit, hatte das Problem auch schon, der Code legt den AssemblerCode der den Watchdog deaktiviert in die .init Sektion des Programms, das ist dann das allererste, was das Programm tut. Das Problem ist, das mit dem Reset des Controllers (durch den WDT) auch das Control-Register des WDT gelöscht wird und dieser nun auf 15ms eingestellt ist, das reicht manchmal nicht...

    [/code]
    void wdt_init(void) __attribute__((naked)) __attribute__((section(".init1")));

    void wdt_init(void)
    {
    MCUSR = 0;
    wdt_disable();
    DDRA = (1<<PA0);
    PORTA &= ~(1<<PA0);

    return;
    }
    [/code]

    sollte das Problem beheben, wo das im Programmcode landet ist egal, es wird so oder so ausgeführt

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698

    Hat der Watchdogtest den Controller ruiniert ?

    Nach Monaten mit anderen Baustellen bin ich zurück beim Watchdog. (M)EIN Problem: bei laufendem LCD hängt sich der Controller nach reproduzierbaren 11:15 min auf . . . :-/

    Folgende Codeschnippsel wurden erstellt als Zusatz/Einfügung bei sonst problemlosen (bis auf den LCD-Bug) Steuerungsablauf. Damit war ein Test geplant, ob erstmal ne quick´n dirty Lösung per WDT möglich wäre

    Code:
    // Im Main nach Includierung der 
      #include <avr/interrupt.h>    //
      #include <avr/wdt.h>          //
    //      Mainmodul
    //..
    
      Isecundn      = 1;            // Sekundenzähler max 9Stunden - NUR hier nullen
      Itmr_RES      = 0;            // Sekundenzähler für RESET
      
      wdt_init( );
    
      TC2TMR_init();            // Init Timer/Cntr2-Interrupt 20 kHz/50 µsec  tmr
    // . . . 
    //      Ende Main
    //
    
    // Im getrennten Timermodul nach erreichen einer Sekunde:
    // . . .
        Itmr_RES ++;                // Resettimer wegen LCD-Fehlfunktion
        if ( Itmr_RES == 30 )       // Zeit erreicht ??
        {                           //
          Itmr_RES  =  0;           // Setze Timer vorsichtshalber zurück
          wdt_enable( 1);
        }                   // Ende if ( Itmr_RES ==
    //
    
    
    
    
    // ============================================================================= =
    //void wdt_init(void) __attribute__((naked)) __attribute__((section(".init1")));
    // ...
    // ENde timer-Funktion
    
    void wdt_init(void)
    {
    MCUSR = 0;
    wdt_disable();
    DDRA = (1<<PA0);
    PORTA &= ~(1<<PA0);
    
    return;
    }
    // ============================================================================= =
    Das funktionierte mit seltsamer Konsequenz: es lief EINMAL ab, stoppte nach dreissig Sekunden, seit der Zeit geht garnix mehr. Nur die Heartbeat-LED - hier üblich auf PC6 - ging auf halbe Kraft bzw. 90 Hz.

    Seltsam: Flashen - mit Verify - ist möglich, Fuses setzen und lesen ist möglich. Flashen eines früher sauber lauffähigen Programms ist möglich - aber die Funktion bleibt wie vorher: Heartbeat-LED auf halbe Kraft bzw. 90 Hz. Ansonsten läuft das früher sauber lauffähige Programm nicht :.-.((

    Frage: hat jemand von Euch einen ungefähren Tip was los ist?

    Danke im Voraus
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. watchdog hilfe
    Von leon20 im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 31.07.2007, 23:01
  2. Atmega48 Watchdog
    Von Moritz f. im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 16.07.2006, 14:16
  3. Watchdog
    Von Lincolnmhkn im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 01.03.2005, 13:06
  4. [ERLEDIGT] Watchdog Assemblerprogramm
    Von Kenni im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 1
    Letzter Beitrag: 24.07.2004, 21:50
  5. Watchdog?!
    Von djfoxi im Forum Robby CCRP5
    Antworten: 1
    Letzter Beitrag: 13.04.2004, 17:17

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test