Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
ressource:electronique:arduino:software_auto_reset [2021/02/16 23:47] emoc créée |
ressource:electronique:arduino:software_auto_reset [2021/02/16 23:55] emoc [Que se passe t'il quand on envoie un programme ?] |
||
---|---|---|---|
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 */ |