Fórum témák
» Több friss téma |
Az elvet rég feltalálták, ezt nevezik indikátoros mérésnek Így működik pl. egy varázsszemes feszültségmérő, amikor a varázsszem csak az egyenlőséget mutatja, de hogy mennyi is az az egyenlő, azt egy feszültségre kalibrált potenciométerről olvashatjuk le.
Régi RádióTechnikában, a háború előtt is jelent meg ilyen készülékről szóló cikk. A hozzászólás módosítva: Jan 26, 2016
Persze, ismert ez az elv, de használható !
Szorult helyzetben pl. azt is lehet használni, hogy egy kondenzátor feltöltése adott ideig tart egy állandó feszültségről egy adott értékre --> TIMER kiváltható a komparátor segítségével, ha elfogytak az erőforrások !
Akkor ezek szerint nem én találtam fel a spanyol viaszt. Mondjuk nem is az volt a cél. De akkor ezek szerint járható az út. Nem tudom mekkora pontosságot lehetne elérni ezzel a módszerrel.
kissi: A kondenzátoros alkalmazást ismerem. De ez most csak úgy ötletként jött fel. Lehet hétvégén kipróbálom. Csak úgy kíváncsiságból.
Üdv!Az lenne a kérdésem , hogy miért nem változtatja az alábbi kód részletben a digit változó értékét , a megszakításon belül?
A shift_full() függvény egy shift regisztert tölt fel.A digit változó a multiplexeléshez kell , hogy éppen melyik számjegy világítson a kijelzőn. A hozzászólás módosítva: Jan 26, 2016
A digit változód legyen volatile, hogy ne optimalizálja ki a fordító.
Sziasztok!
Egy számomra furcsa helyzet állt elő. Készìtettem egy infrás kütyüt, PIC12F629-cel. Tettem a nyákra egy tüskesort is, hogy később tudjam programozni. Ez működött is. Egy darabig. Aztán ma megpróbáltam egy másik programot rátenni. (PICKit3-at használok, gyári.) A probléma ott kezdődik, hogy nem írja a picet és nem is törli le a programozó. Amikor befejeződik az írás, ellenőriztetem és már az első memóriacímen megbukik a dolog. Törléssel ugyanez a helyzet, olvasás viszont látszólag rendben. Az összeköttetést a programozó és a mikrokontroller között ellenőriztem. A picet elsőre automatikusan felismeri a Pickit. Kód védelem kikapcsolva, LVP szintén. A Pickit más picet rendesen ír, töröl. Az előzőleg a picbe égetett program szépen, rendesen fut. Nem tudok dűlőre jutni az üggyel sajnos. Esetleg a pic a rossz? Köszönöm szépen, ha valaki tud segíteni a probléma megoldásában!
Szia, minden szép és jó csak pont a lényeget nem másoltad be ide, vagyis a digit változó deklarálását...
Ha egy globális változót megszakításban is használsz akkor feltétlen volatile-ként kell definiálni, pl: volatile unsigned char digit = 0;
Lehet, hogy a PIC döglött meg, pláne ha menet közben volt dugdosva rá a programozó (PC földelt a PIC meg kitudja milyen tápon van).
A programod elején van egy késleltetés, ami lehetőséget ad a programozónak, hogy programozás módba állítsa a kontrollert?
A volatile-t már próbáltam de valamiért úgy se akar működni.
A TIMER megfelelően van inicializálva? A megszakítást engedélyezted ? Ezek nem látszanak a csatolt programból!) Mivel csak a változóddal foglalkozol a megszakításban, lehet, hogy be se megy oda, mert másból nem veszed észre ( szimuláció mit mond ?! ) !
A kis lábszám miatt gondolom belső oszcillátorról jár, a MCLR és a PWRTE le van tiltva valamint a PGC és / vagy a PGD kimenetnek programozva a lehető leghamarabb. Ekkor a program azonnal elindul, amikor a Vdd megjelenik. PICKit2 -n a "Use Vpp First Programming Entry" módszer lehet a megoldás.
Nagyon érdekes ez a típus. A programozási leírása csak a "Vpp first" módszert (Figure 2-2) tartalmazza, mégis a programozók a "Vdd first" módszerrel kínlódnak.
Ezt is kiírhatnánk a fenti sárga részbe, mert kb. két naponként felmerül egy ilyen probléma.
Itt van az egész kód.Már rájöttem mi volt a baj.Elfelejtettem a TMR0IF-et nullázni amikor vége volt a megszakításnak.Így már működik.
Megint felmerült egy probléma.Eddig egyszerre tudtam kijelezni számot a két kijelzőn.Most azt akarom megcsinálni , hogy külön számokat is lehessen.A kódot így módosítottam:
Valamiért a shift full függvényben nem akar belépni a digit == 0 és digit ==1 elágazásokba. A hozzászólás módosítva: Jan 27, 2016
A függvény digit bementő paraméterét a 23 .. 24 sorokban felülírja a program.
A hozzászólás módosítva: Jan 27, 2016
Köszönöm a segítséget így már működik.
Üdv! Szeretnék segítséget kérni, 16F1827-es PIC-et szeretnék belső referenciával (2,048V) használni, de sehogy sem sikerül beállítani, ha kiszámolom VDD a referencia. Így van beállítva:
adcon1=%01010011 fvrcon=%11000010. Nem jövök rá mit kellene még beállítani, ilyet még nem használtam.
Én legalább ötször elolvastam az írásod, de nem értem mit szeretnél. Se füle, se farka...
Szóval ADC-t szeretnék használni belső referenciával (2,048V), de hiába állítom bárhogy is az adatlap alapján VDD marad a referencia, nem tudom mit rontok el?
A hozzászólás módosítva: Jan 27, 2016
Na látod! Tudsz te ha akarsz! Az ADCON0 hogy áll?
A hozzászólás módosítva: Jan 27, 2016
Nekem az elsőből is érthető volt.
adcon0=%00000011, így is próbáltam: adcon0=%01111111.
Szia!
Sajnos nincsen, ezt elfelejtettem, rögtön az első művelet a "TRISIO = 0;" (ha jól értettem a késleltetés fogalmát). Próbáltam a PICkitet VPP first... üzemmódban is, de sajnos a probléma nem változott. Van még esély, vagy más mód a pic újraprogramozására?
Érdekes, hogy 1,024V belső referencia sem működik. Van aki használt már ilyet, mit kell még beállítani ADCON1- és FVRCON-on kívül? Köszönöm előre is!
A hozzászólás módosítva: Jan 28, 2016
Az adatlap szerint ADC FVR referencia esetén csak 2,048 V vagy 4,096 V választható.
Ennek beállítása szintén az adatlap szerint: FVRCON = 0x82 vagy 0x83 ADCON1<1:0> = 3 Te is így csináltad (bár az FVRCON regiszter FVRRDY bitjét is 1-be akartad állítani, de annak nincs jelentősége, mert nem írható bit), így nem tudom, mi lehet a probléma.
Tehát elvileg jól csinálom. Köszönöm, hogy ránéztél! Pali79-nek is.
Még az is érdekes ha külső referenciára állítom akkor is VDD marad a referencia. Tehát pont amire vettem, arra nem tudom rábírni. A hozzászólás módosítva: Jan 28, 2016
Az adatlapban van példaprogram is az ADC beállításra, ott ellenőrizheted minden helyes-e, az FVR beállítása csak az az egy sor.
Sziasztok!
A PIC32 SQI interfészre szeretnék rakni egy micro SD kártyát és egy Windbond 25Q64 8Mbyte-os Flash-t. Az SD kártyán a 4 adatlábból 3-at egy 10K-s ellenállással fel kell húzni Vcc-re. A Winbond IC-t simán összeköthetem a 4 adatlábbal és a CLK-val? Nem fog bezavarni? Az nem baj, hogy a 3-as adatláb nincs Vcc-re húzva? Mert az sd kártya ajánlása szerint nem kell. Ha jól tudom úgyis csak chip select-re aktiválódik. Tehát szerintem nem. Szerk: Ahogy látom command láb hiányában úgy látom CLK leeső élre kiolvasni tudunk, felugró élre pedig írni. Ezt a PIC32mz SQI tudja kezelni? A hozzászólás módosítva: Jan 29, 2016
Sziasztok!
Programozni akartam egy PIC16f886-ot, de nem találom a PICKit2 listában, talán nem ismeri azt a típust? |
Bejelentkezés
Hirdetés |