Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Watchdog sur ATTINY ?



  1. #1
    Poseidon88

    Watchdog sur ATTINY ?


    ------

    Bonsoir,

    Je suis entrain de concevoir une petite carte qui utilise un ATTINY85 pour faire flasher une carte LED. Il y'a aussi l'utilisation du Timer pour faire varier la luminosité en 2 niveaux suivant la luminosité externe.

    Tout ceci fonctionne bien, par contre ce système devra tourner 24H/24 du coup, j'aimerais éviter que si mon µC plante, le signal reste éteint. Faut-il utiliser le watchdog ? Si oui, comment ? J'ai jamais trop compris l'utilisation, si cela reste interne au µC ou si il faut rajouter des composants externes ect.
    Avez-vous des sites qui expliquent bien l'utilisation du watchdog sur un µC atmel ?

    Merci à vous

    -----

  2. Publicité
  3. #2
    gcortex

    Re : Watchdog sur ATTINY ?

    Tu as un fusible à configurer et le prog doit remettre à zéro le compteur périodiquement avant l'overflow

  4. #3
    Poseidon88

    Re : Watchdog sur ATTINY ?

    Merci Gcortex, du coup quand il y'a un overflow (paramétrable je suppose ? ) le µC est reseté ?

  5. #4
    gcortex

    Re : Watchdog sur ATTINY ?

    exactement

  6. #5
    zibuth27

    Re : Watchdog sur ATTINY ?

    hello,

    voici un exemple de watchdog qui cycle en 8 secondes sur ATtiny13 (à adapter éventuellement pour un autre Tiny)

    //-------------avant le corps du programme:
    #include <avr/wdt.h>


    //-------------fonction d'initialisation, à lancer une fois (mais qui peut être incorporée au programme)
    //initialize watchdog
    void WDT_Init(void)
    {
    //disable interrupts
    cli();
    //reset watchdog
    wdt_reset();
    //set up WDT interrupt
    WDTCR |= (1<<WDCE)|(1<<WDE);
    //Start watchdog timer with 8s prescaler
    WDTCR |= (1<<WDTIE)|(1<<WDE)|(1<<WDP3)| (1<<WDP0);
    //Enable global interrupts
    sei();
    }

    //----------------dans main() dans les diverses initialisations, à faire une fois
    //initialize watchdog
    WDT_Init();


    //--------------- à mettre dans une boucle qui est appelée au moins une fois toutes les 8secondes
    //reset watchdog
    wdt_reset();


    saluts

  7. A voir en vidéo sur Futura
  8. #6
    Poseidon88

    Re : Watchdog sur ATTINY ?

    Salut, merci pour ton code

    Par contre wdt_reset et init il ne les connait pas mon compilo ^^
    CVAVR

  9. Publicité
  10. #7
    zibuth27

    Re : Watchdog sur ATTINY ?

    hello,

    wdt_reset() fonctionne avec le header #include <avr/wdt.h>, inclus dans le compilateur
    ma version de compilo est avr-gcc 4.8.2

    quels sont les messages d'erreur de ton compilo ?

    WDT_Init() est une fonction écrite dans mon message, et tout compile bien avec avr-gcc

    saluts

Sur le même thème :

Discussions similaires

  1. adressage indirect sur ATmega et reset ATtiny
    Par gcortex dans le forum Électronique
    Réponses: 5
    Dernier message: 04/04/2013, 12h37
  2. Ajout d'un port programmation ICSP sur un ATTINY 2313
    Par Yoruk dans le forum Électronique
    Réponses: 3
    Dernier message: 25/03/2013, 10h59
  3. Watchdog PIC18F2520
    Par Bastoss dans le forum Électronique
    Réponses: 2
    Dernier message: 04/05/2010, 10h39
  4. watchdog sur PIC16F877
    Par Sunnydelight dans le forum Électronique
    Réponses: 5
    Dernier message: 25/08/2009, 15h05
  5. Dspic Watchdog
    Par hdgetnet dans le forum Électronique
    Réponses: 0
    Dernier message: 22/06/2009, 10h51
Découvrez nos comparatifs produits sur l'informatique et les technologies.