![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Demo broche d'interruption, sommeil et chien de garde (irq, sleep, watchdog) Le module irq permet de gérer les broches d'interruptions INT. Les MCU AVR sont équipés d'un mode de sommeil (sleep) qui permet de réduire la consommation à quelques micro-ampères (voir nano) et d'un timer chien de garde qui peut être utilisé pour le réveiller périodiquement. Ce programme affiche un point sur la liaison série à chaque front descendant sur la broche INT0 :
La broche INT0 est configurée en entrée avec pull-up. Un bouton poussoir (ou tout autre dispositif similaire) y est connecté. Un sémaphore est utilisé pour compter le nombre de fronts descendants dans une routine d'interruption (pour synchroniser l'affichage du comptage qui ne peut se faire sous interruption !). Le timer watchdog est configuré pour générer une interruption toutes les 8 s. Le microcontroleur est endormi et réveillé par les interruptions ce qui réduit au minimum sa consommation.