Fórum témák
» Több friss téma |
Az mclr láb ki van kapcsolva, és hameg a Pickit2- programban bepipálom ezen beállítás mellett a az mclr ablakot akkor meg teljesen megáll.
Látom... 0XF0 az FRC oszcillátort jelenti:
Idézet: „5.1 Analog-to-Digital Conversion An ADC conversion may not complete under these conditions: 1. When FOSC is greater than 8 MHz and it is the clock source used for the ADC converter. 2. The ADC is operating from its dedicated internal FRC oscillator and the device is not in Sleep mode (any FOSC frequency). When this occurs, the ADC Interrupt Flag (ADIF) does not get set, the GO/DONE bit does not get cleared, and the conversion result does not get loaded into the ADRESH and ADRESL result registers.” Az A4 reviziót már nem érinit a hiba... MCLR: Ha a PICKit2 -n kipipálod, akkor a VPP / MCLR vonal alacsony lesz. Ha erre a kontroller megáll, akkor ellentmondás van a MCLRE_OFF konfigurációs beállítással...
A LVP mód engedélyezve van? Ekkor nem engedi letiltani a MCLR funkciót...
Nem egy malomban őrlünk ! Én a "hardverről" beszélek te szoftverről . Nézd meg a panelon a felhúzóellenállást .
A Configuration Word 2-ben levő LVP (alacsony feszültségű programozási mód) bitet törölni kell, tehát LVP_OFF, vagy hasonló (régebbi típusoknál így volt jelölve).
a konfigban nincs LVP_OFF, ezek szerint az alap beállítás is xar. Máskülönben jótudni az mclr lábra vonatkozóan hogy ha pipa be akkor lacsony szinten van. > De ezzel a konfiggal használom és az mclr pipára kikapcsol.
Igen fizikailag is ottvan az ellenálás mert majdan bekapcsológomb lesz ha az a temérdek sötétség egy kis fényt hoz ezzela pic-kel kapcsolatban.
Kiváló!
Pont ez az amire nekem szükségem van. Én még egy 100nF-os kondit gondoltam az RA.2 kimenet és a föld közé. Nagyon szépen köszi a segítséget! Akkor tervezem a panelt. Sajnos nem volt lehetőségem próbapanelen ki próbálni ezért kérdeztem
Sziasztok.
Egy egyszerű kérdéssel fordulnék hozzátok. Miért lehet az, hogy ADC - potméter esetén 256-os felbontásban kb 2-3 egységet ugrál folyton, de van, hogy akár 12 egységet is ugrik egy pillanatra a mért érték? Mind ezt alap mozdítatlan helyzetben. (USB által meghajtott PIC18F4550 esetében, bár ez lehet, hogy lényegtelen.) Próbáltam más potmétereket is, a helyzet változatlan. Ezt, hogy lehetne hardveresen vagy szoftveresen finomítani? Válaszokat előre is köszönöm.
Milyen referencia feszültséget használsz?
Próbáld meg, hogy a tápra teszel egy nagyobb szűrő elkót. Üdv, mate_x Idézet: „Milyen referencia feszültséget használsz?” Az USB-t, amit az kiad, 5V. Idézet: „Próbáld meg, hogy a tápra teszel egy nagyobb szűrő elkót.” A 'táp'-on 100nF kondi van. Rakjak nagyobbat? De kb mekkorát? 470nf az szerinted sok lenne már?? (Csak mert az a következő lépcső az itthon találhatóak közül ennyi. ![]()
Egy próbát mindenképpen megér, de akár 100 mikrofarádosat is tehetsz, ha az nem szűri meg rendesen, akkor nem itt lesz a baj.
Kipróbáltam a 470nF-es kondival. Az eredmény teljesen ugyan az.
Szóval tényleg más lehet a probléma. Esetleg valami más ötlet? ![]()
- Lehet próbálkozni a bemenet (a potméter csúszka) szűrésével.
- Meg lehet próbálni, hogy hosszabb időt vársz a csatorna kiválasztása és a konverzió elindítása között. - Végezhetsz sok mérést, melyeknek az átlagát veszed. Erre találsz példát a honlapomon is.
Köszönöm szépen.
Végig fogom próbálni az általad említett lehetőségeket. Viszont egy kérdés felmerült időközbe bennem. Van egy MIDI vezérlő billentyűzetem. Van rajta pár potméter. A potmétereket 128 egységben érzékeli. Viszont azt olyan stabilan, hogy az nem igaz. Ha pl 95-re tekerem, akkor az 100%, hogy akárhogy próbálom finoman küszöb értékre tekerni, az akkor is annyi marad, amennyire tekerve lett. Szóval a felől érdeklődnék, hogy te, vagy akár más, tudja e annak módját, hogy midi vezérlők esetében a potméter pontosságát hogyan oldják meg ennyire jóra?
Kapcsolási rajz nélkül honnan lehetne bármit is tudni? Még az is lehet, hogy digitális potméterek...
Azt nem tudom milyen a digitális potméter, de pl a pedálban a potméter teljesen úgy néz ki, mint ami a képen van. 20Kohm-os egyfordulatú szén potméter.
Kapcsolási rajzot nem tudok sajnos, de olyan MIDI vezérlőt még nem láttam, aminél nem lett volna legalább közel ilyen pontos egy potméter érzékelése. Esetleg valaki valami ötlet, hogy mi szerint keressek rá neten? Mert még elindulni sem tudok ezen a téren. ![]()
Szia. Elolvastam, ezek rendben vannak. 4mhzen- megy az osc. De viszont ír valamit a TRIS regiszterekről. De lehet hogy csak bemenetre kell állítani viszont a példában az ANSELA regiszterrel is foglalkozik. Amit csak félig értek tehát egyszer meg kell mondani hogy bemnet legyen majd azt is hogy milyen? Mellesleg én megpróbáltam megmondani neki ezt is NEM MEGY!
Na most tényleg nemértem. > de tuti az mclr láb baxakodik. mert az mclr_off és az lvp is off. De ha megy és az mclr- en lévő kapcsolót lehúzom földre kikapcsol, amit ha kedve tartja bármikor megtesz. Mintha ingadozna az órajel. A kiírt számok a multiplexelt kijelzőn szétcsúsznak aztán megáll. Tényleg teli a tököm vele. SEGÍTSÉG !
-Mplab 8.50 -Pickit2 - a legújabb dattal- - a pic F-es ,de csak 3V vagy alatta programoz különben elveszti. Ez normális? - A konfigban kikapcsolva az mclr és az lvp... Mi az isten?
Lehet hogy a panel terv a rossz? Ettől megállhat az osc?
Van még rajta egy dual op amp meg annak egy negatív fesz gyártó 7660.
Sziasztok.
Megint elakadtam az órával. Azt szeretném megoldani, hogy az RB-re kötött gombokkal be tudjam állítani. Ehhez az RB megszakítását kellene igénybe vennem. Leírom, hogy hogyan akartam megcsinálni: - Beállítom az RB-t digitális benemetre (ANSELH) - Beállítom a TRISB-t '00000111' (3 gomb) - Beállítom az IOCB-t ugyanerre - indítom a megszakítást: BSF RBIE, PEIE, GIE sorrendben. A megszakítás rutinban pedig így választom ki:
Kihagytam valamit? Mert így nem működik. A másik kérdés, hogy ha az egyik megszakítást kezelem le éppen, akkor a másik tiltva van, vagy nekem kell arról gondoskodnom, hogy az ne zavarja meg az éppen folyó munkát. A 887-es ugye nem prioritásos megszakítással rendelkezik. Tehát, amíg a gombnyomást kezelem, addig a TMR2IF ugyanúgy átválthat?
- A B porton az IOC megszakítás törléséhez ki kell olvasni a PORTB -t (az összes bit változottságát törli).
- Amig egy másik ok kiszolgálása folyik, a TMR2 és más perifériák megszakítás ok jelzői bebillenhetnek. Ezek közül csak az engedélyezettek kérnek megszakítást. Ha egy eszköz kész, de a megszakítása tiltott, annak nem szabad lefuttatni a kiszolgálását. - Ha a portb megszakítása érvényre jut, a lekezelése alatt a timer2 kérése is bebillen, akkor két lehetőség fordulhat elő: -- A kérés még a jelzőbitjének tesztelése előtt bebillen - a megszakítási rutin egymás után mind a két kérést kiszolgálja, a kéréseket törli és visszatér. -- A kérés a jelzőbitjének tesztelése után billen be - Az első kérés kiszolgálása lefut, a jelzőbitjét letörli, visszatér. Rögvest érvényre jut a timer2 megszakítás, a kiszolgáló rutin lefut még egyszer, most a timer2 -t szolgálja ki, törli az okot és visszatés. Mivel nincs több ok, a fő program fut egy darabig...
Kiakadtam. A Pickit ha detektálja felismeri a pic 16f1826-ot. Ezzel együtt visszateszi 5,0V-ra a Vdd-t de ha betöltöm a hexet jön a piros üzenet, el is veszti aztán no device, ha leveszem a Vdd-t úgy töltöm be akkor ismert marad meg is írja. de a kiírt 255 vagy elmegy vagy villog vagy szabályosan vagy nem de hót f?s az egész. Valaki nemtudja hogy mivel van a baj?
Remélem nem haragszotok, ha közbevágok, de pl. nálam
Idézet: „- A B porton az IOC megszakítás törléséhez ki kell olvasni a PORTB -t (az összes bit változottságát törli).” ez nem működött, de lehet (biztos), hogy valamit Én nem értek.
Hiáaba olvastam ki a PORTB-t, a megszakítás mindkét változásra lefutott. Csak úgy tudtam megoldani, ha a megszakításon belül, megvártam míg visszaáll az adott bemenet alapba.
A remegés megszűnt. leszedtem a majdani 5V-os regulátort
![]() De kevéssé tudok angolul. Javítsatok! Bármelyik bank regiszterére hivatkozok egy banksel utasítással akkor abban a bankban vagyok és abban is maradok még egy másik banksel utasítással hivatkozom egy másik bank regiszterére és akkor már abban vagyok? pl BANKSEL PORTA -- akkor a bank0 ban bármelyik regiszterrel foglalkozhatom? aztán: -BANKSEL TRISA-- most kerültem át a bank1 ben és megintcsak újabb banksel utasításig itt is maradok -BANKSEL ANSELA--most bank 3 ban foglalkozhatom bármelyik regiszterrel? Az A/D-hez a pic 16f1826-nál be kell állítani az ADCON0-ban is melyikkel foglakozzon és az ANSEL-ben is? Meg valami amit muszály, mert nem megy.
Mire használod az RB6 és RB7 lábakat?
szegmens meghajtás
Ha valaki lenne olyan kedves átbogarászni a progot csak az A/D akarnám a portb-re írni -egyelőre. Minden át van ugrálva , de nem megy.
Ezt szépen betette...
Kivezetés analóg módra állítása a 16F1826 -on:
- TRIS regiszterekben a megadott biten bemenet állítása. - ANSEL regiszterekben a megadott helyen analóg mód állítása, - ADCON0 regiszterben a bemenet kiválaszztása Mérés a kiválasztott bemeneten: - A/D beállási idő kivárása, - A/D indítása. - Kész jelzés megvárása .... Errata megoldásai. - Érték kiolvasása az ADRES regiszterekből. Banksel - Minden pic kontrolleren úgy van, ha kiválasztasz egy bankot, akkor addig az marad kiválasztva, ameddig másikat nem választasz ki. Mindegy hogyan történik a kiválasztás : a STATUS felső bitjeivel vagy a BSR regiszterrel. - Ha másik bankbeli regisztert szeretnél elérni, akkor előbb a bankot kell kiválasztani, majd műveletet végezni a regiszterrel. Ha több ugyan abban a bankban levő regiszterrel van egymás után dolgunk, akkor köztük nem kell bankot váltani, de a megszakítási rutinnak mentenie és visszaállítania kell a bank kiválasztását. Ha másik bankbeli regiszterel lesz dolgunk, megint ki kell választani az kívánt bankot... Hagyd az A/D -t egy kicsit, mert még azt sem tudod, hoga a programodban van a hiba vagy az A/D nem működik rendesen. Egy led villogtatás működik? Mi lett a MCLR lábbal? Lehet már bemenetnek használni, vagy most is megáll az élet? Mitől áll meg, ha a MCLR funkció és az LVP is le van tiltva? Ha ezek már mennek, jöhet a többi... A 16F1826 -ban van uart. Jó lenne beüzemelni... Mivel a PICKit2 -vel nem lehet debuggolni ezt a típust, az uart-tal lehetne állapot információt küldeni a programból...
Tegyél be késleltetést a TRISB állítása előtt hogy a Pickitnek legyen ideje vacakolni kontrollerrel..
|
Bejelentkezés
Hirdetés |