joi, 3 martie 2011

Arduino si Masini ierarhice de stare

Arduino si Masini ierarhice de stare

Acum cateva zile au aparut noi versiuni ale programelor de la Quantum Leaps, firma care furnizeaza un framework Open Source si un mediu grafic gratuit pentru dezvoltarea de masini de stare si producerea de cod specific unei multitudini de familii si arhitecturi de microcontrolere. Vestea buna este ca acum exista inclusiv pentru Arduino si mbed.

Versiunea de framework pentru Arduino o gasiti aici. Se integreaza in IDE-ul Arduino si are doua exemple foarte bine documentate. Acelasi lucru se poate spune si despre Application Note specific mediului Arduino, asa ca nu ma mai chinui sa repovestesc instalarea si utilizarea.

Instrumentul grafic de dezvoltare, care porneste de la diagrame si scrie sketch-ul .pde pentru Arduino, il gasiti aici. Exista versiuni gratuite atat pentru Windows, cat si pentru Linux :)

La modul general, pentru cei care doresc sa stie ce este o masina ierarhica de stare si cum difera de automatele finite (masini cu un numar finit de stari), aici gasiti o foarte buna explicatie.

De ce este nevoie de o masina cu stari?

Modelul de programare utilizand masini de stari prezinta o serie de beneficii prin comparatie atat cu programarea "clasica" cu control secvential al executiei (bazata pe blocarea si scanarea dupa un anumit eveniment), cat si cu utilizarea unui RTOS sau Sistem de Operare in Timp Real care asteapta dupa un semafor sau o alta metoda specifica RTOS.

Avantajul apare in situatiile in care un numar de evenimente diferite se pot produce in situatii in care ordinea aparitiei lor nu poate fi determinata si in care este important raspunsul imediat al sistemului la eveniment.

Daca exista interes pentru acest subiect voi face un tutorial, care va fi probabil publicat pe Tehnorama.

Niciun comentariu:

Trimiteți un comentariu