[elektro] pic ad

Jamrik Jozsef jamrikjozsef at gmail.com
Fri May 28 07:45:36 CEST 2010


Skandar Graun wrote:
> Az AD megszakítás egy érdekes kérdés.
> Megszakítás. Mit csinálok vele?
> Kiolvasom és jelzem a főprogramnak, hogy megtörtént a kiolvasás?
> Ha nem használok IT-t, akkor az történik, hogy az ADIF bittel jelzem a
> főprogramnak, hogy a konverzió kész.
> Majd a főprogram a neki alkalmas időben kiolvassa és feldolgozza.

Már ha ez a "neki alkalmas időben" jellegű mintavétel egyáltalán
megengedhető. Továbbá itt még nincs vége, még a neki legközelebb
alkalmas időben, ami ne legyen kevesebb mint a beállási idő (acquisition
time), megint foglalkozni kell vele, hogy elindítsa a következő konverziót.

Mivel a főprogramnak többnyire ezer más rendszertelen időzítésű dolga
szokott lenni, ez maximum hőmérő kiolvasásra jó, ha rendesen időzített
mintavétel kell, arra való a megszakítás.

Ezt én úgy csinálom általában, hogy a kiszámított beállási időre (vagy
többre, ha csak lassabb mintavétel kell) fel van programozva egy timer,
ha ez lejár, akkor az interruptban beállítja a GO bitet és letiltja ezt
a timert. Az IT az AD megszakítás után kiolvassa az adatot,
felprogramozza újra a timert.

Ez a leggyorsabb tempó amit el lehet érni, de ha nem kell padlógázon 
menni, akkor is kényelmesebb, mint a főprogramban még a pollingolással 
is kínlódni. Feladatfüggő, de ha úgyis pufferbe kell rakni az adatot 
vagy keveset kell számolni, akkor azt is meg lehet oldani az IT-ben.

-- 
((( Móczik Gábor  )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))



More information about the Elektro mailing list