[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