03-06-2017, 10:30 AM
Ja sam gledao, da kada god sam mogao koristim "multitread principe" na bare metalu :
Sve funkcije koje trose puno vremena (npr neka I2C sw implementacija, ili taj smart LCD) sam pisao kao FSMasine, tako da ako moraju da cekaju 20mS, nece blokirati ostatak programa, vec ce x puta prolaziti kroz stanje masine X_WAIT_20MS npr... Problem se prebacuje na sinhronizaciju gomile FSMova (nekad ih imam > 20) ali negde mora da se zapne.
Sve funkcije koje trose puno vremena (npr neka I2C sw implementacija, ili taj smart LCD) sam pisao kao FSMasine, tako da ako moraju da cekaju 20mS, nece blokirati ostatak programa, vec ce x puta prolaziti kroz stanje masine X_WAIT_20MS npr... Problem se prebacuje na sinhronizaciju gomile FSMova (nekad ih imam > 20) ali negde mora da se zapne.