Konstrukce a realizace Å™Ãdicà jednotky malého proudovéhomotoru
Konstrukce a realizace Å™Ãdicà jednotky malého proudovéhomotoru
Konstrukce a realizace Å™Ãdicà jednotky malého proudovéhomotoru
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
6.1. MOŽNÉ PROGRAMOVÉ IMPLEMENTACE STAVOVÉHO AUTOMATU 37break;case 1:/* vykonavani stavu */*state = 2;break;case 2:/* prechod do dalsiho stavu */*state = 0;fp_state = stav_2;break;default:/* Error stav */fp_state = error_state;break;return result}Každý stav je reprezentován jednou funkcí, uvnitř které je použita pro vnitřní běh stavuprogramová konstrukce switch. V části case 0 se provádí inicializace všech potřebnýchproměnných stavu. V další části case 1 je implementována vlastní logika stavu. Vposlední části case 2 se provádí rozhodnutí o přechodu do dalšího stavu. Pokud dojdek volání stavu, přičemž ani jedna podmínka case nebude splněna, došlo k vnitřní chyběběhu programu a automaticky se stavový automat přepne do chybového stavu, kde jeprovedeno patřičné ošetření. Volání jednotlivých stavů je prováděno pomocí volání pointeruna funkci s konkrétními potřebnými parametry. Přechod do dalšího stavu se provádípomocí přesměrování ukazatele pointeru na funkci na jinou funkci. Voláním pointeruna funkci ve smyčce získáváme tedy sekvenční běh stavového automatu a zároveň tímoddělujeme logiku vlastního programu od jednotlivých stavových automatů, čímž se kódstává přehlednější a snazší na odhalování chyb.