Cours:InfoEmbarqueeConcommationMicroC : Différence entre versions
(→Sleep modes) |
|||
Ligne 16 : | Ligne 16 : | ||
#On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation | #On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation | ||
#Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie | #Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie | ||
− | #On | + | #On allume 1 led |
− | #Retour au mode faible consommation après quelques secondes | + | #Retour au mode faible consommation après quelques secondes, en prenant soin d'éteindre la led |
Vous vous servirez des fonctions disponibles [http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html dans le fichier {{Rouge|avr/sleep.h}}] pour passer en économie d'énergie. | Vous vous servirez des fonctions disponibles [http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html dans le fichier {{Rouge|avr/sleep.h}}] pour passer en économie d'énergie. |
Version du 2 septembre 2024 à 10:53
Attiny841
support utilisé
Voici le schéma de la carte que vous utiliserez :
Sleep modes
Afin de limiter la consommation de la carte, nous allons utiliser les modes d'économie d'énergie disponibles sur le µcontrôleur utilisé.
Le principe sera le suivant :
- On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation
- Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie
- On allume 1 led
- Retour au mode faible consommation après quelques secondes, en prenant soin d'éteindre la led
Vous vous servirez des fonctions disponibles dans le fichier avr/sleep.h pour passer en économie d'énergie.
Les différents modes sont détaillés Attiny841.pdf dans la partie 7. Le tableau donne la correspondance entre le mode de consommation et la valeur à utiliser dans les fonctions du fichier avr/sleep.h.
Sleep Mode | valeur programme c |
---|---|
idle | SLEEP_MODE_IDLE |
ADC Noise Reduction | SLEEP_MODE_ADC |
Standby | SLEEP_MODE_PWR_DOWN |
Power-Down | SLEEP_MODE_STANDBY |
Ressources
- Registres utiles
- DDR(A/B/C..) : direction
- 1 -> sortie
- 0 -> entrée
- PIN(A/B/C..) : état des entrées
- #include <util/sfr_defs.h>
- if bit_is_set(PINA,PA0) ... (bit_is_clear)
- loop_until_bit_is_set
- PORT(A/B/C..) : modifier les sorties
- DDR(A/B/C..) : direction