Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Helló Mindenkinek
Újabb kérdésem lenne. Egy programon belül fut egy hardveres PWM és egy A/D. De hiába teszem be az ADRESL értékét a CCPR1L-ba nem szabályozza a kitöltési tényezőt. Egyáltalán lehet ezt csinálni? Ha igen akkor hogyan kellene? Köszönettel
Lehet. De inkább mutasd a kódodat, és akkor tudunk valamit mondani róla.
Helló Potyo.
Már tettem a programokat elő, hátra de sehogy sem jött össze. Tehát szeretnék egy feszültségvezérelt PWM-t. Köszönettel
Köszi a választ. Akkor az én óóóriási tudásommal nem állok neki átirogatni mert abból csak kérdés hegyek lennének, inkább szerzek egy 16F877-est.
Köszi és üdv.
Az a baj, hogy alapvetően rosszul fogsz hozzá. Egyszer kell beállítani a pwm modult, majd utána csak a kitöltési tényezőt kell állítgatni. A te programod viszont minden egyes A/D konverzió után kikapcsolja a pwm modult, majd újra bekapcsolja. Másik probléma, hogy le kellene szokni az ilyen wait tipusú dolgokról, és helyette inkább szinkronizálni az eseményeket. Itt a timer2 úgyis fut a pwm miatt, akkor ahhoz lehet mindent szinkronizálni. Amikor a timer2 flag bebillent, akkor kiolvasni az A/D konverzió eredményét, beírni azt a CCPR1L regiszterbe, majd ismét elindítani a konverziót. Mire megjön a következő timer2 flag, addigra konverzió már kész lesz. Vagy ha mégsem kész, akkor meg nem csinálunk semmit. A sample time időt meg csak akkor kell megvárni, ha több csatornát mintavételezel felváltva. Egyetlen csatornánál nincs szükség a sample time-ra.
Helló Potyo.
Köszönöm a válaszodat, megpróbálom átdolgozni az egészet. Köszönettel.
Helló Potyo vagy Aki van.
Valahogy így javasoltad? Mielőtt még tovább finomítanám, légyszíves nézd meg, és ha van benne elvi (vagy gyakorlati hiba) szólj légyszíves. Köszönettel.
Szerintem meg töltsd le az adatlapját, nézd át rendesen, nézz fel az oldalamra konfiguráció ügyben és próbálj egy LED villogtatót összeeszkábálni.
Szándékosan nem használtam a megszakítás szót, mert nincs rá szükség.(Annak a beállításához a kódodból egyébként is hiányzott a GIE és a TMR2IE bitek bekapcsolása, viszont a regiszterek mentése majdnem jól volt megírva. De csak majdnem ) Itt van mindig egy periódusnyi idő lekezelni a Timer2 túlcsordulását. (Adott esetben szükség lehet megszakításból dolgozni, akkor át kell írni olyanra. De ha nincs szükség rá, akkor nem muszáj erőttetni.)
Megírtam, hogy hogyan kellene csinálni. Tesztelni nem tudtam, mert nincs kéznél MPLAB, meg a bankokat sem néztem, hogy melyik regiszter hol van, helyette betettem a banksel-t mindenhová. Az elvet próbáld megérteni belőle!
Helló Potyo.
Nagyon köszönöm, nekiállok és átrágom magam rajta. Ezer KÖSZÖNET. Üdv.
Tudtok valamit a PIC32 ASM MPLAB támogatottságáról? Elvileg támogatja, telepítéskor ki lehet választani, de nem találom a fájlokat. A microchip oldalán sem találok ASM32-ről infót.
Jó, megpróbálok. Már azzal is tanulok valamit.
Köszi.
Helló Potyo.
Tanulmányoztam, betöltöttem. Az eredmény: Reklamálta, hogy az A/D újraindításához min. 2 TAD idő kell. A loop végére betettem egy késleltetést. A pwm ketyeg. A prg egyszer lefut de többször már nem. A loop elején a TIMER2IF soha többé nem billen be. DE hogy miért nem? ÜDV.
Helló Potyo
és még ez a hibaüzenet: CORE-E0002: Stack under flow error occurred from instruction at 0x000041
Üdv!
Arra tudtok esetleg valami megoldást, hogy mplab ne törölje ki fejlesztés közben az eepromot ? Mert én nézem a legújabbat (8.14) és nincs benne ilyen opció.
A programozásnál ki kell kapcsolni ( Programmer --> Settings --> Program --> EEPROM pipát kivenni!), vagy először beolvasni, benne hagyni az EEPROM ablakban, így programozáskor mindig visszaírja !
Steve
Sziasztok!
Egy kis segítségemre lenne szükségem. Van egy PicKit2-őm, és debuggolni szeretnék vele. Eddig sose debuggoltam PIC-et ad egy: nem írtam olyan bonyolult programot amit ne láttam volna át, ad kettő nem volt debuggerem. Amiket be, illetve átállítottam: -Feszabadítottam a PGC, PGD lábakat, a debugger számára -a Config Word-ben engedélyeztem a Debug-ot -MPLABban kiválasztottam a Debugger menüben a PicKit2-őt. Megtalálja szépen a PIC-kel együtt, de nem akar semmi érdemlegeset csinálni, vmit kihagytam? Ha lenne valakinek egy kis ideje, akkor tudna némi támpontot adni (vagy egy jó linket, keresgéltem, de nem találtam semmi számomra Getting Start jellegű dolgot ) az egésznek a mibenlétéről? Köszi, Blint
Bocs hogy belekotyogok.
A TMR2IF-et szoftveresen törölni kell. Bocs ha olyat írtam ami egyértelmű. üdv
Szerintem itt találsz leírást a kezelésről:
Bővebben: Link Én nem csináltam még debuggolást a PICKIT2-vel, csak ICD2-vel, szerintem itt is úgy kell... Az ICD-nél töréspontot raktam a programomba, a WATCH-ba beállítottam a figyelendő változókat és elindítottam a programot az MPLAB-al. A töréspontnál megállt és láttam a változók értékét. Tudja a lépésenkénti végrehajtásnál is a változók értékének a megjelenítését is. A hibakeresésénél tehát gyakorlatilag szinte ugyanúgy kell dolgozni, mintha a szimulátort használnád! Steve
Sendi,
Nezd erosen azt az elso utasitast Arra varakozol, hogy a flag 1-es allapotbol atbillenjen 0-sba - ez ugy sohasem fog bekovetkezni...
Azt igazából én rontottam el Bár a szimulátorból ki kellene, hogy derüljön :felkialtas:
Helló Potyo, helló Trudnai.
Igen a szimulátor mindig ott állt meg. Kijavítottam, és így már tökéletesen működik. Köszönöm a segítségeteket, legközelebb is számítok rátok. Szép napot. József
Megint ezzel a PIC32 ASM MPLAB-al kapcsolatban vannak nyűgjeim.
A C32-ben található fájlokkal működik a dolog, de nem szimulálja le, ill. korlátozott a használata, mivel a C32 nem teljes verziós. Nem értem, mit jelent az, hogy az MPLAB támogatja a PIC32-őket. Én úgy gondolnám, hogy ha ki lehet választani a telepítésnél, akkor a fordító is telepedne. Nem így van. Külön asm32-őt nem találok, vagy csak béna vagyok. Tudtok ez ügyben valami infót adni?
Szia watt,
En ugy tudom nincs kulon MPASM32, remelem tevedek! Viszont a jo hir, hogy ezek mar GNU C forditok, azaz a forrasa elerheto. Meg kellene probalni ujra forditani - elmeletileg a kod optimalizacioban van ido limit, amugy nincs semmilyen mas korlat. Nekem sajnos nincs (meg) 32 bitesem, az infot innen vettem.
Van az Mplab ban ASM32. Először kerestem én is. A telepítőben nincs külön szedve. Telepíted a C32-t és akkor mellette ott van az ASM32 is. Ekkor a language Tool nevű részben ki tudod választani hogy C32, vagy Asm32-t akarsz használni de a telepítés során nem.
Van egy lcd kijelzőm és azt szeretném vele megcsinállni hogy megnyomsz egy gombot és kiír egy kis szöveget. Az lenne a kérdésem hogy ez lehetséges-e 18F877 Pic-kel? És ha igen akkor hogyan?
Nem akarom elkiabálni, de szerintem leharapják a fejed, mert már van kismillió pic-es topik.
Egyébként milyen kijelző az, mert arról nem írtál semmit.
Igen így van, de az a furcsa, hogy ezt nem nagyon reklámozzák. Az egész elég zavaros. Már kezdtem átlátni a ASM30-at, most kezdhetem előről a ASM32-vel. Gyakorlatilag ott járok, hogy még a program sem oda kerül a memóriában ahová én akarom!
Szétkerestem magam megint, de szinte semmi támpontot nem találok, ahol legalább valami példa lenne(néhánynyúlfaroknyi progi, aztán szünet). Jó lenne valami hasonló doksi, mint az ASM30-hoz! A múltkor is majd kiszúrta a szemem, de most aztán tényleg szétböngésztem az egész microchip oldalt de semmi. A C-ről bármit megtalálni... |
Bejelentkezés
Hirdetés |