[elektro] HT PICC18 problema

potyo potyo.ada at gmail.com
Thu Jan 15 16:16:20 CET 2009


Mi a helyzet a regiszterek mentésével? Ha megszakítási rutinból
függvényt hívsz, akkor akár feleslegesen is elmentheti az FSRx
regiszterekt, a hardveres szorzó regisztereit, stb.

Amúgy minek ez az rs232_receive(ii), amikor már egyszer kiolvasod az RCREG-et?

2009/1/15 Moczik Gabor <pm_levlista at progzmaster.hu>:
> Hali!
>
> High priority ISR-ben van egy ilyen resz:
>
> -------------------------
>     if (RCIF && RCIE) {
>         ii=RCREG;
>         RCIF=0;
>         rs232_receive(ii);
>     }
> -------------------------
>
> Az ISR-ben nagysebessegu AD feldolgozas is van, gyakran fut, es amikor az
> rs232_receive() fuggvenyhivast beletettem, elegge lelassult a rendszer.
> A meglepetes akkor jott, amikor az RCIE bitet 0-ra allitottam hogy ne
> teljesuljon a feltetel, es tovabbra is akadozik. Mar kinomban kicsereltem a
> feltetelt is "if (0) ..." -ra, de semmi valtozas. Ha kikommentezem a
> fuggvenyhivast akkor minden rendben.
>
> Mi okozhat ilyen furcsa jelenseget?
>
> Neztem a leforditott asm listet, "if (0)" eseten direktben atugorja egy
> goto-val az egesz blokkot, tehat biztosan nem fut le a fuggveny.
>
> --
> ((( Móczik Gábor  )))--((( E~mail: "pm-01" @AT "progzmaster" .DOT "hu" )))
> ((( Skype: moczik )))
>
> -----------------------------------------
>          elektro[-flame|-etc]
>



More information about the Elektro mailing list