Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
ressource:electronique:arduino:software_auto_reset [2021/02/16 23:47]
emoc créée
ressource:electronique:arduino:software_auto_reset [2021/02/16 23:57] (Version actuelle)
emoc [La bonne méthode!]
Ligne 1: Ligne 1:
 +{{tag> arduino reset em}}
 +
 ====== arduino software auto-reset ====== ====== arduino software auto-reset ======
  
Ligne 21: Ligne 23:
   * puis démarrer le micrologiciel qui est en mémoire   * puis démarrer le micrologiciel qui est en mémoire
  
-Tous les détails sur la procédure de «reset» ​sont dans la datasheet de l'​[[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P]] (system control and reset", page 40 sur 294). On y retrouve les 4 causes qui peuvent produire un reset :+Tous les détails sur la procédure de //​reset// ​sont dans la datasheet de l'​[[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P]] («//system control and reset//», page 40 sur 294).  
 + 
 +On y retrouve les 4 causes qui peuvent produire un //reset// :
  
   * Power-on reset. The MCU is reset when the supply voltage is below the power-on reset threshold (V POT ).   * Power-on reset. The MCU is reset when the supply voltage is below the power-on reset threshold (V POT ).
-  * External reset. The MCU is reset when a low level is present on the RESET pin for longer than the minimum pulse +  * External reset. The MCU is reset when a low level is present on the RESET pin for longer than the minimum pulse length. 
-length. +  * Watchdog system reset. The MCU is reset when the watchdog timer period expires and the watchdog system reset mode is enabled.
-  * Watchdog system reset. The MCU is reset when the watchdog timer period expires and the watchdog system reset +
-mode is enabled.+
   * Brown-out reset. The MCU is reset   * Brown-out reset. The MCU is reset
  
Ligne 33: Ligne 35:
 ==== Que se passe t'il quand on envoie un programme ? ==== ==== Que se passe t'il quand on envoie un programme ? ====
  
-Un signal déclenche la séquence de reset, puis un signal prévient le bootloader qu'il va recevoir des données pour programmer la mémoire flash, une fois chargé le programme démarre.+Un signal déclenche la séquence de //reset//, puis un signal prévient le //bootloader// qu'il va recevoir des données pour programmer la mémoire flash, une fois chargé le programme démarre.
  
  
Ligne 81: Ligne 83:
  
  
-<​code>​+<​code ​c>
 /* Arduino software reboot ​ /* Arduino software reboot ​
    
Ligne 90: Ligne 92:
        
    ​Avertissements :     ​Avertissements : 
-     * cette méthode n'est pas compatible avec les anciennes versions de bootloader+     * cette méthode n'est pas compatible avec les anciennes versions de bootloader ​qui n'ont pas le WDT activé (WatchDog Timer)
      * cette méthode peut poser problème sur des clones nano (toujours pour des questions de bootloader)      * cette méthode peut poser problème sur des clones nano (toujours pour des questions de bootloader)
        cf. https://​forum.arduino.cc/​index.php?​topic=461948.0        cf. https://​forum.arduino.cc/​index.php?​topic=461948.0
Ligne 120: Ligne 122:
  
  
-De cette manière on peut également déclencher un reset en envoyant un signal sur le port série (mêmes réserves que la précédente) : + 
-<​code>​+De cette manière on peut également ​**déclencher un reset en envoyant un signal sur le port série** (mêmes réserves que la précédente) : 
 + 
 +<​code ​c>
  
 /* Arduino software reboot à la réception d'un message série ​ */ /* Arduino software reboot à la réception d'un message série ​ */
Ligne 139: Ligne 143:
     if (ch == '​0'​) {     if (ch == '​0'​) {
       Serial.println("​arduino va redémarrer"​);​       Serial.println("​arduino va redémarrer"​);​
-      delay(1000); ​// wait 1 second+      delay(1000); ​
       reboot();       reboot();
     }     }
  • ressource/electronique/arduino/software_auto_reset.1613515638.txt.gz
  • Dernière modification: 2021/02/16 23:47
  • par emoc