13.07.2015 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!