|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Proteus Član
Pridružen-a: Sre 15 Jun 2005 10:03 Prispevkov: 1875 Aktiv.: 8.18
|
Objavljeno: Pon Dec 04, 2006 10:48 am Naslov sporočila: Finite State Machine |
|
|
Majhni koščki programske opreme včasih zelo olajšajo vsakdanje življenje. Ne vem sicer, kakšen je vaš pristop k programiranju mikrokontrolerjev, toda sam nebi preživel brez tako imenovanega "Finite State Machine" (FSM) pristopa, ki bistveno olajšuje:
- delo z več opravili istočasno in
- predvidljivost obnašanja sistema.
Na strani:
http://rd.kaut.nl/?Free_Software:FSM_generator
je zastonj FSM generator, ki z ozirom na svojo preproščino, deluje presenetljivo uporabno. Stvar je tako enostavna, da niti navodil ne potrebuješ, ko vidiš kodo, ki jo generira ti je takoj vse jasno. V okostje samo še napišeš nekaj logičnih pogojev za prehod med "stanji" in postavitev izhodov v posameznem "stanju".
Nobenih ovir ni, da v svoj projekt združiš več takih FSM-jev
|
|
Nazaj na vrh |
|
|
RGorazd Član
Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1714 Aktiv.: 7.47 Kraj: Ig
|
Objavljeno: Pon Jul 25, 2011 8:53 pm Naslov sporočila: |
|
|
A ima kdo kaj literature na to temo? Kak napotek? Lahko tudi razlaga po kmečko. Zanima me pa tudi prevod v slovenščino, v kolikor sploh obstaja.
LP G
_________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
|
piroman Član
Pridružen-a: Čet 23 Okt 2003 12:06 Prispevkov: 2707 Aktiv.: 11.81 Kraj: Ljubljana
|
Objavljeno: Tor Jul 26, 2011 8:05 pm Naslov sporočila: |
|
|
Čisto za začetek, je tule v priponku preprosta razlaga FSM.
Opis: |
|
Download |
Ime datoteke: |
State Machines for Microprocessors.pdf |
Velikost datoteke: |
155.3 KB |
Downloadano: |
34 krat |
_________________ One shouldn’t work on semiconductors, that is a filthy mess; who knows if they really exist!
Wolfgang Pauli, 1931 |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 41.02 Kraj: Kranj - struževo
|
Objavljeno: Sre Jul 27, 2011 10:27 pm Naslov sporočila: |
|
|
V osnovi je FSM sestavljen iz teh sklopov:
- (neskončna) zanka, v kateri se izvaja
- sam FSM je sestavljen iz enega samega večjega CASE stavka
- ena spremenljivka, ki določa trenutno stanje FSMja (odsek v Case stavku)
- vhodi
- izhodi
Tipičen primer (po domače):
Koda: |
stanje = idle;
while (1)
{
case stanje:
idle:
{
if (tipka_vklop == 1) stanje = voda_noter;
}
voda_noter:
{
ventil = 1;
if (nivo_vode() == 20)
{
ventil = 0;
stanje = peri;
}
}
peri:
{
if (tajmer < 10) boben_levo();
if (tajmer > 11) boben_desno();
if (tajmer > 20)
{
tajmer = 0;
cikel++;
if (cikel == 50) stanje = voda_ven;
}
}
voda_ven:
{
pumpa = 1;
if (nivo_vode() == 0)
{
pumpa = 0;
stanje = idle;
}
}
...
tukaj je lahko naslednji FSM avtomat ali drugi deli glavnega programa, ki delajo kao multitasking
} // while(1)
|
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
RGorazd Član
Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1714 Aktiv.: 7.47 Kraj: Ig
|
Objavljeno: Sre Jul 27, 2011 10:33 pm Naslov sporočila: |
|
|
Hvala obema!
Mi bo zelo prišlo prav!
LP G
_________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 265 dni
Powered by phpBB © 2001, 2005 phpBB Group
|