Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
ressource:electronique:arduino:software_auto_reset [2021/02/16 23:47] emoc [Que fait exactement un reset de la carte arduino ?] |
ressource:electronique:arduino:software_auto_reset [2021/02/16 23:55] emoc [Que fait exactement un reset de la carte arduino ?] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> arduino reset em}} | ||
+ | |||
====== arduino software auto-reset ====== | ====== arduino software auto-reset ====== | ||
Ligne 15: | Ligne 17: | ||
- | ==== Que fait exactement un reset de la carte arduino ? ==== | + | ==== Que fait exactement un //reset// de la carte arduino ? ==== |
* replacer les registres I/O de l'ATmega328P à leur valeur initiale | * replacer les registres I/O de l'ATmega328P à leur valeur initiale | ||
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 ). | ||
Ligne 79: | Ligne 83: | ||
- | <code> | + | <code c> |
/* Arduino software reboot | /* Arduino software reboot | ||
Ligne 88: | 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 118: | 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 */ |