Cours:InfoEmbarqueeConcommationMicroC : Différence entre versions
(Page créée avec « =Attiny10= * [https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/ATtiny4-5-9-10-Data-Sheet-DS40002060A.pdf datasheetAttiny10] ==s... ») |
|||
Ligne 68 : | Ligne 68 : | ||
| Power-Down || SLEEP_MODE_STANDBY | | 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 | ||
+ | *** [https://www.nongnu.org/avr-libc/user-manual/group__avr__sfr.html <util/sfr_defs.h>] | ||
+ | ***if bit_is_set(PINA,PA0) ... (bit_is_clear) | ||
+ | ***loop_until_bit_is_set |
Version du 13 septembre 2023 à 09:10
Attiny10
support utilisé
Les schémas suivants vous permettent :
- de comprendre sur quel état logique les leds s'allument
- de trouver la liste des sorties
- d'associer chaque led avec un numéro de patte
|
|
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 affiche un nombre aléatoire
- Retour au mode faible consommation après quelques secondes
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 Attiny10.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
- <util/sfr_defs.h>
- if bit_is_set(PINA,PA0) ... (bit_is_clear)
- loop_until_bit_is_set
- DDR(A/B/C..) : direction