[elektro] dsPIC3012 AD leakadás

Skandar Graun sgraun at gmail.com
Wed Sep 3 20:21:23 CEST 2008


Nekem inkább az LCD busy figyelése gyanús. Engem szívatott meg, hogy
túl gyorsan kapcsolt át a proci és a lebegő adatbuszra behalt az LCD,
az istennek sem adott busy-t Azóta időtúllépéses az LCD kezelése.

Kovács Árpád <arpad.kovacs at freemail.hu> írta, 2008.09.03.:
>
>
>
> Szia!
>
> Írd le a regiszterbeállításokat, akár binárisan is, ha lehet, az hátha árulkodik valakinek a problémáról. (AD órajel forrás, stb.) Úgy gondolom, hogy ha a DONE nem vált egyre, akkor valamiért el sem indul a konverzió. Például gyanús lehet a "Conversion Sequence", SMPI beállítások, a "Programming the Start of Conversion Trigger" szekcióban leírt SSRC bitbeállítás is.
> Csatornaváltásnál tudtommal nem kell az A/D modult ki/be kapcsolgatni, de arra vigyázni kell, hogy a konverzió indítása előtt a szükséges Acquisition Time is meglegyen. (Ez végülis csak a pontosság miatt fontos nagyobb sebességnél.) Aztán a többiek javítanak, ha valamit nem jól írtam... :)
>
> Üdv,
>
> Árpi
>
>
>
>
>
> Horvath Zsolt <hozso_001 at freemail.hu> írta:
>
> >
> >
> >        Sziasztok!
> >
> >
> >        Hátha találkozott már valaki ilyennel.
> >
> >        HD44780-at használom, a PORTB 0-5 lábaira kötve.
> > Tökéletesen működik. A PORTB 6,7 lábán analóg funkciókat
> > szeretnék használni. A nagykönyv szerint beállítom a TRISB-t,
> > az ADCON-okat, az ADPCFG-ot stb. A szimulátor szerint
> > tökéletesen működik minden. A valóságban az AD kiakad.
> >
> >     A program úgy működik, hogy a főprogram folyamatosan,
> > egymás után hívogatja az AD kezelő és az LCD kezelő rutinokat.
> > Az LCD rutin mindig frissíti az LCD-t, tehát a TRISB-t állítja (
> > figyelem a busy-t ), de arra figyeltem, hogy a 6,7 bitet ne bántsam.
> >
> >     Az AD rutin az AD_DONE bitet figyeli. Ha az értéke 0, akkor
> > azonnal kiugrik a rutinból, nem csinál semmi mást. Ha az értéke 1, akkor
> > kiolvassa az adatot, átváltja a csatornát stb. Ha megvan a kért mennyiségű
> > minta, akkor azokat leátlagolja stb.
> >
> >     A szimulátorban tökéletesen működik, a valóságban meg sosem billen
> > be a DONE bit. ( Ha nem ugrok vissza az AD rutinból, amikor a DONE
> > 0, hanem várok, amíg 1-re vált, akkor megáll a kijelző frissítése, ebből
> > gondolom, hogy a DONE nem vált egyre. )
> >
> >
> >     Csináltam egy olyan programrészletet, ami ugyan azokat a
> > programrészleteket
> > használja, de a rutinon belül megcsinál két mérést ( csatornaváltással )
> > és mindig
> > ki-bekapcsolja az AD modult és újra bekonfigolja az ADCON-okat, az ADCFG-t
> > stb. Ez működik tökéletesen.
> >
> >     Van valakinek tippje, hogy mitől akad le az AD?
> >
> > ( Az adatlapban olvastam, hogy bizonyos biteket nem lehet állítani az AD
> > bekapcsolt
> > állapotában, azokra odafigyeltem. )
> >
> >
> >        Üdv.: Horváth Zsolt
> >
> > -----------------------------------------
> >           elektro[-flame|-etc]
> >
>
> -----------------------------------------
>          elektro[-flame|-etc]
>


More information about the Elektro mailing list