1 Naposledy upravil: g52 (2024-02-13 00:20:03)

Téma: Je potřeba před změnou stavu relé kontrolovat jeho současný stav?

Je potřeba před změnou stavu relé kontrolovat jeho současný stav?

main {
    if (sys[231] != 0) {sys[231] = 0;};
    wait(100;)
}

Nebo je to v HW ošetřeno a můžu nastavit požadovaný stav přímo i když to bude několikrát za minutu?

main {
    sys[231] = 0;
    wait(100;)
}

Je potřeba dávat sys[index] do define? nebo to můžu používat přímo v kódu bez define?

#define RELE1 sys[231];

2

Re: Je potřeba před změnou stavu relé kontrolovat jeho současný stav?

Ne, Ano, Ne

Je to ošetřeno, lze kdykoliv zapsat, provede se zapsaný stav (a pokud je zrovna stejný, tak to zůstane jak je).
Takže klidně pořád dokola zapisovat stejnou hodnotu, to je zcela OK a bude to fungovat.

Ten #define je zjednodušení, není vůbec nutný. V základu se zapisuje přímo do sys[] pole, jen když se s tím někdo nechce vypisovat, nebo mít to přehlednější, tak si takto s tím define pomůže. Samozřejmě, pokud je pole indexováno proměnnou, tak už ten define nemá také smysl... ale to je zase jiná věc.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !