[elektro] (C) programozási kérdés
Andras Huszti
kyrk at villamvadasz.hu
Sun Nov 20 10:24:19 CET 2011
Hello!
> Van erre valami értelmes szabály ami ezt kikerüli?
Van. Ugy kell felepiteni a programot, hogy kulonallo modulokbol alljon
es a modulok a komplex funkciokat fugvenyek formajaban retsek el.
Tovabba adatokat csak fugvenyhivasokkal szabad atadni. A moduloknak
"maguktol" kell mukodniuk. Pl a GUI modul megkapja valami infot
fuggvenyhivason keresztul, ezt elmenti valami belso valtozoba. Majd ha a
sajat fociklusa felhivodik elintezi a kiirast. Igy a hivo fel nincs
blokkolva csak addig amig elmentodik az adat, nem kell megvarnia a
koltseges GUI frissitest.
A moduloknak altalaban a kovetkezo interfeszeket erdemes letrehozni:
- configuracio: ide kell rakni a forditasidobeli konfigokat, pl defineok
- work: ide kell rakni az init es do fuggvenyeket. Ez elobbit egyszer
kell hivni, az utobbit foprogrambol ciklikusan
- interrupt: ide kell rakni az interruptokat. Foleg 1ms, illetve egyeb.
- user funkciok: ide jonnek azok a funkciok amit a tobbi modul hasznalni
fog.
A fenti rendszerrel elerheto, hogy minden modul csak a user funkciokat
includolja, a tobbire nincs szuksege. Es persze csak azokat amikre
szuksege van. Kialakul egy fa struktura, hogy mely modul melytol fugg.
Ha mindenki mindenkitol fugg, akkor rosszul van megtervezve a modulok
kozott a feladatok kiosztasa.
Koszonom
More information about the Elektro
mailing list