[Résolu] Propreté du code pour la commande des OUTPUT

Bonjour,

Je suis en train d'écrire le code de mon premier projet.

Je me demande laquelle des deux méthodes suivante est la plus propre d'un point de vu de déroulé du code dans le microcontrolleur :

1ère méthode :

//Entrée dans le mode manuel
if(EnterModeMan == 1)
{
    digitalWrite(KM1, HIGH);

    // Reste du code
}
// Sortie du mode manuel
if(OutModeMan == 1)
{
    digitalWrite(KM1, LOW);
    
    // Reste du code
}

//Entrée dans le mode automatique
if(EnterModeAuto == 1)
{
    digitalWrite(KM1, HIGH);

    // Reste du code
}

// Sortie du mode automatique
if(OutModeAuto == 1)
{
    digitalWrite(KM1, LOW);
    // Reste du code
}

2eme méthode

//Entrée dans le mode manuel
if(EnterModeMan == 1)
{
    modeMan = 1;

    // Reste du code
}
// Sortie du mode manuel
if(OutModeMan == 1)
{
    modeMan = 0;
    
    // Reste du code
}

//Entrée dans le mode automatique
if(EnterModeAuto == 1)
{
    ModeAuto = 1;

    // Reste du code
}

// Sortie du mode automatique
if(OutModeAuto == 1)
{
    ModeAuto = 0;
    // Reste du code
}


// Commande de la sortie KM1
if(ModeMan || ModeAuto)
{
    digitalWrite(KM1, HIGH);
}
else
{
    digitalWrite(KM1, LOW);
}

merci :slight_smile:

Ça dépend si vous avez besoin de mémoriser l’état

Je n'ai aucune nécessité de mémoriser l'état pour mon système.

Mon système dispose de 4 voyants et d'un contacteur relayés par un module relais.

Je me posais plus la question ci-dessus en me demandant si au final c'est gênant, qu'à chaque passage dans la boucle "loop", de commander une sortie à l'était LOW ou HIGH alors qu'elle l'était déjà au passage précédent dans la boucle ?

Bonjour,
le cocasse dans ton histoire, c'est qu'en voulant éviter de faire travailler ton mpu pour rien ... tu le fais travailler pour rien
donc je te suggère d'aller au plus simple

C’est pas gênant de mettre à HIGH ou LOW une sortie qui l’est deja... ensuite c’est juste affaire de goût et de besoin.

Si vous n’avez pas besoin de mémoriser l’état (et que vous ne voulez pas lire l’état de la pin) alors ne vous embêtez pas :slight_smile:

Nickel, merci pour les renseignements.

Après ça reste un petit programme, c'est juste pour prendre les bonnes manières dès le départ :slight_smile: