Problème d'affichage de l'heure avec machine à état

Bonjour

A mon sens, ton code n'est pas assez bien structuré. C'est la raison pour laquelle tu éprouves des difficultés à obtenir un résultat saisfaisant.

Visiblement tu maîtrises l'écriture des fonctions en C, c'est déjà une bonne base.
Mais ton problème est que tu y mélanges les fonctionnalités. Chaque fonction gère plusieurs choses à la fois.

A la fin, tu te retrouves avec une fonction qui s'exécute sur un appui bouton, dans laquelle tu veux aussi gérer le RTC, la pompe et l'affichage LCD.

Autre exemple qui illustre la mauvaise organisation du code : si un jour tu veux modifier le positionnement des informations restituées sur le LCD, tu vas devoir faire des modifs un peu partout dans tes fonctions. Mise au point pas évidente, bugs etc.

Pour mieux maîtriser ton système, il faut séparer les fonctionnalités.

Donc là tu as le choix, selon ta convenance / tes objectifs :

  1. trouver rapidement la rustine supplémentaire à ajouter quelque part pour arriver à faire marcher tout ça comme tu le souhaites. C'est possible, mais ça laissera un code bien complexe pour si peu de fonctionnalités.
  2. réorganiser complètement le code de manière saine, profitant ainsi de l'occasion d'acquérir les bons réflexes.

Quelle est ton option?