hard reset, HIBERNATE et HSERIN

framboise

New Member
bonjour

quelques questions de noob:

  1. Couper l'alim du µC équivaut-il à un HARD RESET ?
  2. un SLEEP ou HIBERNATE désactive t il les sorties du µC (plus aucun courant sur les sorties)?
  3. La valeur configuration est utilisée pour déclencher/arrêter le mode ‘réveil d’un mode consommation ultra-basse’ d’une entrée ADC0.La valeur 0 inhibe cette fonction. Sinon, la commande hibernate se terminera dès la fin de la décharge d’une capacité connectée en ADC0. Plus efficace, en terme de basse consommation, que la commande sleep
    la commande hibernate se terminera dès la fin de la décharge d’une capacité connectée en ADC0.
    Je n ai pas compris de quoi il est question car plus haut il est écrit que seul un hard reset ou une interruption materielle (hserin, hi2cin, ...) permet de réveiller le µC

  4. Justement comment faut il proceder pour réveiller le µC avec HSERIN ou autre?
    Il faut envoyer un hserout sur la bonne entrée du µC à reveiller? c'est tout?
 

PieM

Senior Member
Bonjour,
Couper l'alim du µC équivaut-il à un HARD RESET ?
Oui. Seule solution sur les M2 qui n'ont pas d'entrée reset.


un SLEEP ou HIBERNATE désactive t il les sorties du µC (plus aucun courant sur les sorties)?
Non, mais les taches de fond sont stoppées comme les timers, les PWM, servos etc.
Si on veut réduire la consommation du montage (pas seulement du µC) il faut mettre les sorties dans l'état souhaité avant.

Je n ai pas compris de quoi il est question car plus haut il est écrit que seul un hard reset ou une interruption materielle (hserin, hi2cin, ...) permet de réveiller le µC
Hibernate est équivalent à SLEEP, sauf qu'il ne se réveille pas tout seul toutes les 2.3 ou 2.1s.
Pour le réveiller, deux solutions:
si config est à 0, seule une interruption hard, hserin hI2C ou les entrées interruptions hard sur X2, ou un hard reset peuvent le réveiller.
si config et à xx, c'est l'entrée ADC0 = 0 qui va permettre de le réveiller après un certain temps.
Si on met un Condo + R sur ADC0, hibernate va dans un premier temps charger ce condo pendant xx ms, puis la décharge de C intervient. Au bout du temps indique par la formule, la tension = 0 et le truc se réveille.
On peut aussi mettre un BP en // pour ramener ADC0 à 0...

L'interruption (sur les X2) avec hserin intervient dès que le hserinflag est à 1.
 
Top