[RESOLU] reset automatique + [RESOLU] Démarrage du moniteur série sans reset

numero_744:

  • Reset depuis le code;
  • "Reset software" : qu'est ce que "software" ?;
  • "Dans certains cas" : lequels ?;
  • Insérer une bibliothèque pour une fonction ?;
  • "software" = logiciel en anglais, donc reset software = reset depuis le code (à contrario de "hardware reset" = reset physique depuis l'extérieur).
  • "dans certain cas" = les registres du CPU ne sont pas réinitialisé quand tu fait asm("jmp 0x00") donc si tu utilises des timers (ou autre truc exotique) il resterons actif et irons foutre le bordel dans ton code :wink:
  • pour pouvoir utiliser le watchdog il faut inclure la librairie "avr/wdt.h" (wdt = watchdog) ce qui semble assez logique :wink:

numero_744:
Pour faire simple, j'aimerais qu'avec une ligne C la carte fasse un reset comme si l'on avait appuyé sur un bouton,
quitte à utiliser une voie digitale et faire des branchements (pas trop compliqués quand-même, les branchements...).

Le travail pré-mâché c'est mal :wink:

#include <avr/wdt.h>

void reset_software(void) {
  wdt_enable(WDTO_15MS);
  for(;;);
}

(pas trop compliqué comme fonction ;))

icare:
Que fait exactement cette instruction de boucle ?

Elle ne fait rien, c'est une boucle infini :wink:

En C si tu fait un while(1); normalement tu doit avoir un warning du style "condition always true".
Si tu fait for(;; ); cela revient exactement au même mais le compilateur ne fera aucun warning.