PIC interrupt magalitja a foprogramot?

Skandar Graun sgraun at gmail.com
Sat Nov 10 19:23:24 CET 2007


Én hasonló probléma esetén az interrupt elején bebillentettem egy
portlábat, majd a végén nulláztam. Ezzel gyönyörűen lehetett látni az
interrupt rutin idejét.
A jeladó mire kell? Fordulatszámot figyelsz, vagy pozíciót is.
Ha csak fordulatszámra kell, akkor miért nem használod a számláló
bemenetet, akkor csak túlcsorduláskor van IT, vagy egy rendszeres
IT-vel kiolvasod és nullázod a számlálót.
Ha pozíció is kell, akkor pedig a legbiztosabb olyan procit használni,
ami hardverből kezeli a jeladót (pl 18f4439)
Szívtam már meg vele, azóta inkább a hardver.
Megnéztem az adatlapját, elég tejbetök egy lábkiosztású processzor, de
az RA2 lábon élvezérelt IT-t fogad. Ezt hiányoltad, nem?
Ágó István <istvan3 at gmail.com> írta, 2007.11.10.:
> Szimulátorban nézd meg, mi történik ha még az interrupt rutin vége előtt
> ismét bebillen valami...
>
> Huszti Andras <kyrk at villamvadasz.hu> írta, 2007.11.10.:
> >
> > Hali!
> >
> > 16F690-re kotottem egy DC motort (H-hid+PWM). A tengelyen van egy
> > inkrementalis jelado. 12V 100% kitoltes mellet szkoppal ramerve kb
> > 200us-os negyszogjel van az egyik csatornan.
> >
> > Ugy tunik, hogy bizonyos fordulatszam felett (70% kitoltes felett)
> > megall a forutin. Inkrementalis jelado jelet az interrupt dolgozza fel,
> > egy valtozot novel/csokkent minden egyes atmenetkor. Van egy timer ami
> > idokozonkent engedelyezi a foprogramban egy resz futasat. Nos itt
> > elhelyeztem egy tesztet:
> > Kitoltesi tenyezot minden egyes futaskor novelem. Elvileg 0rol 100%-ra
> > kellene nonie. De olyan 70%nal megall. Ha lelassitom a motort akkor
> > tovabb no. Ez szamomra egyertelmu jel, hogy az interrupt annyira lefogja
> > a foprogramot, hogy nem tud futni.
> >
> > A nagy kerdes: Lehetseges-e, hogy teljesen lealljon? En ugy tudom, hogy
> > ha egymasra futnak az interruptok akkor a foprogrambol legalabb 1
> > utasitas lefut. Tehat a programom lehet, hogy fut csak olyan lassan,
> > hogy nem latom? Vagy teljesen megallt?
> >
> > Vegulis a problema az, hogy rossz PIC -van a panelben. Ugyanis ez sajnos
> > nem tudja el triggerelt interruptot. Ha tudna... akkor egyszerubb lenne
> > a program es nem lenne ilyen gondom. De sajnos csak port change
> > interrupt van benne :(
> >
> >
> > -----------------------------------------
> >           elektro[-flame|-etc]
> >
> -----------------------------------------
>          elektro[-flame|-etc]
>


More information about the Elektro mailing list