Connecter en USB sans que l'Arduino n'exécute son programme

Bonjour,

Je souhaiterai brancher mon Leonardo sans que le programme que celui contient ne s’exécute (en l’occurence un programme qui simule l’appui sur des touches d’un clavier) ?

Auriez-vous une idée ?
Je débute en programmation Arduino (reçu hier, pile à temps pour ce MOOC)

Bonne journée,
Sylvain

Le sketch démarre automatiquement, on ne peut pas changer ça.
Mais par contre, tu peux faire en sorte que ton sketch attende une certaine condition avant de commencer son job.
Typiquement, dans setup() tu peux faire une boucle qui attend que tu appuies sur un bouton avant de passer au reste de ton sketch.

Ah d'accord.

Pour m'amuser j'avais fait un premier sketch de fermeture de session KDE (on s'amuse comme on peut) avec les fonctions clavier de Leonardo.

Heureusement, vu que je fleurais qque chose ça, j'ai mis un délai avant exécution dans ma boucle ... Juste le temps de flasher un autre sketch avant les commandes fatales !

Ce que tu proposes, c'est bien au niveau de la fonction setup ?

C'est très bon à savoir en tout cas?. . Merci :slight_smile:

setup ou loop ?

Tout dépend de ce que tu veut faire.

Tout ce qui est dans setup ne s'exécutera qu'une seule et unique fois.
Le seule solution pour relancer sera de faire une Raz (reset en englische).

Tout ce qui est dans loop s’exécutera indéfiniment.

La stucture du fichier "réel" qui sera transmis au compilateur est ;

void setup() {
  //blabla
}
void loop() {
  //blabla
}

int main() {
  setup();
  while(1)
   {
      loop();
   }
}

main() est le nom de la fonction qui s'exécute automatiquement à l'alumage du micro ou après une RAZ : c'est imposé par la norme C/C++.

Tu vois que :

  • il n'est pas possible de passer plusieurs fois dans setup()
  • il est impossible de sortir de la boucle while car la condition est toujours vraie.

C'est très clair merci !