[elektro] PIC16F818 referenciafeszültség

Horvath Zsolt hozso_001 at freemail.hu
Thu Nov 24 08:24:27 CET 2011


    Pont ez volt a bosszantó: a megszakítás csak a TMR0-hoz volt,
az AD-t a főhurokban pollingolom! Innentől fogva nem értettem, hogy
miért szól bele az eredménybe?!


   Üdv.: Horváth Zsolt



2011.11.22. 22:18 keltezéssel, Móczik Gábor írta:
> Ha a táp zavarná, valószínűleg sose lenne stabil a jel, hanem zajos
> lenne. Ha nincs a tápon az ugrással összefüggésbe hozható periodikus
> terhelés, akkor ez inkább sw problémára utal.
>
> A konverziót én mindig interruptban időzítem és átlagolom is, a main-nek
> csak a végeredményt kell kiolvasni.
>
> Az átlagolást célszerű kettő hatványai szerinti mennyiségű mintára
> végezni, akkor 1db bit shift utasítással el lehet osztani a szummát, ez
> mehet az ISR-be. Ha ez nem jó, akkor egy osztást azért már nem tennék oda.
>
> Kölcsönösen ki kell zárni hogy egymást zavarják, az ISR ne írjon ha a
> main nem olvasta ki, a main meg ugye csak akkor olvasson ha van friss
> adat. Az előbbivel persze elvész a friss adat, de ha a main lassú az már
> eleve rossz, viszont legalább az eredmény nem lesz hibás.
>
> 1db flaggel elintézhető.
>
> ISR:
>     if (!flag) {
>         x = avg;
>         flag = 1;
>      }
>
> main:
>     if (flag) {
>         x felhasználása
>         flag = 0;
>     }
>
> -----------------------------------------
>            elektro[-flame|-etc]
>
>
>    



More information about the Elektro mailing list