CanOpen

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
meklod400
DrótVégénSzéndarab
Hozzászólások: 29
Csatlakozott: 2009. október 24. szombat, 6:00

CanOpen

Hozzászólás Szerző: meklod400 »

Sziasztok!

Tudnátok nekem segíteni vagy egy kis alapleírást adni a canopenről? hogy hogyan is működik vagy mifélre protokoll ez?! Igazából engem speciel az obejct directory érdekelni, hogy az mire is jó és hogyan használják.

Előre is köszi a válaszokat
Avatar
szegoj
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2010. február 4. csütörtök, 7:00

Hozzászólás Szerző: szegoj »

Itt találsz leírást a canopen-ről...

http://www.nikhef.nl/pub/departments/ct ... open30.pdf
Avatar
meklod400
DrótVégénSzéndarab
Hozzászólások: 29
Csatlakozott: 2009. október 24. szombat, 6:00

Hozzászólás Szerző: meklod400 »

Igen ezt ismerem, esetleg vmi jobb leírás nincs, mert itt szépen benne van h mit mire, de hogy mit hogyan az kevésbé:S
Avatar
meklod400
DrótVégénSzéndarab
Hozzászólások: 29
Csatlakozott: 2009. október 24. szombat, 6:00

Hozzászólás Szerző: meklod400 »

Sikerült mindenféle okosságot beszereznem CanOpenhez, viszont egy olyan problémába ütköztem, hogy hogyan lehetne azt megoldani, hogy pl van egy rendszer programom és egy user programom, tehát értem én van egy alap rendszer, ami fut és lenne egy user program is, ami nem szólhat bele a rendszer programba max a függvényeit használhatná.

Tehát két szálon futna az egész egy rendszer szálon és egy user szálon!

Erre esetleg lenne vmi ötletetek?
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

Azért jó lenne tudni a konkrét feladatot...
Az "igazi" multitasking-hez beteszel egy timer megszakítást, ami átkapcsolja a másik szálra a cuccot (elpushol mindent, esetleg stack-et cserél), ez a durva, sok hibalehetőséget hordoz (pl közös hardver portokat összekuszálhatja), vagy a timer billenti a "semafort" és a futó rutin végén megnézi a program, hogy menjen-e tovább, vagy adja át a vezérlést (itt sem árt tudni, hol tartott az előző szál, de az lehet SW stack vagy normál stack elmentés is. A timernek persze szépen be lehet külön-külön állítani az időszeletet, így egyik szál tovább dolgozhat, mint a másik (erőforráskiosztás). Ha UserInterface és Normál dolog kell csak, akkor a UserInterface-t nyugodtan megszakíthatod, úgy is elég lassú a jóember, aki a gombokat nyomogatja. Itt az a bibi, hogy a megszakításban el kell végezned mindent, amit a főprogramnak kell csinálnia, tehát időt kell neki adni. (tehát nem pakolunk bele Waitms-eket meg egyéb bírkaságokat, esetleg bitwait-eket ugye...) De konkrétumok nélkül nehéz kiválasztani a megfelelő módszert.
JAni
Válasz küldése