Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   287 / 1319
(#) Sendi hozzászólása Szept 16, 2008 /
 
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
(#) potyo válasza Sendi hozzászólására (») Szept 16, 2008 /
 
Lehet. De inkább mutasd a kódodat, és akkor tudunk valamit mondani róla.
(#) Sendi válasza potyo hozzászólására (») Szept 16, 2008 /
 
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


690MIX1.asm
    
(#) Doncso válasza bbalazs_ hozzászólására (») Szept 16, 2008 /
 
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.
(#) potyo válasza Sendi hozzászólására (») Szept 16, 2008 /
 
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.
(#) Sendi válasza potyo hozzászólására (») Szept 16, 2008 /
 
Helló Potyo.

Köszönöm a válaszodat, megpróbálom átdolgozni az egészet.

Köszönettel.
(#) Sendi válasza Sendi hozzászólására (») Szept 16, 2008 /
 
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.

690MIX.asm
    
(#) watt válasza Doncso hozzászólására (») Szept 16, 2008 /
 
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.
(#) potyo válasza Sendi hozzászólására (») Szept 16, 2008 /
 
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!

adc-pwm.asm
    
(#) Sendi válasza potyo hozzászólására (») Szept 16, 2008 /
 
Helló Potyo.

Nagyon köszönöm, nekiállok és átrágom magam rajta.
Ezer KÖSZÖNET.

Üdv.
(#) watt hozzászólása Szept 16, 2008 /
 
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.
(#) watt válasza watt hozzászólására (») Szept 16, 2008 /
 
Közben sikerült a C32-vel beállítani...
(#) Doncso válasza watt hozzászólására (») Szept 16, 2008 /
 
Jó, megpróbálok. Már azzal is tanulok valamit.
Köszi.
(#) Sendi válasza potyo hozzászólására (») Szept 16, 2008 /
 
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.
(#) Sendi válasza Sendi hozzászólására (») Szept 16, 2008 /
 
Helló Potyo

és még ez a hibaüzenet:
CORE-E0002: Stack under flow error occurred from instruction at 0x000041
(#) lidi hozzászólása Szept 16, 2008 /
 
Ü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ó.
(#) kissi válasza lidi hozzászólására (») Szept 16, 2008 /
 
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
(#) Blint hozzászólása Szept 16, 2008 /
 
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

(#) Mate78 válasza Sendi hozzászólására (») Szept 16, 2008 /
 
Bocs hogy belekotyogok.

A TMR2IF-et szoftveresen törölni kell.
Bocs ha olyat írtam ami egyértelmű.

üdv
(#) kissi válasza Blint hozzászólására (») Szept 16, 2008 /
 
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
(#) MPi-c válasza potyo hozzászólására (») Szept 17, 2008 /
 
Köszönöm!
(#) trudnai válasza Sendi hozzászólására (») Szept 17, 2008 /
 
Sendi,

  1. BTFSC   PIR1, TMR2IF    ; bebillent-e a Timer2 flag?
  2. GOTO    loop            ; ha nem, akkor nem csinĂĄlunk semmit


Nezd erosen azt az elso utasitast Arra varakozol, hogy a flag 1-es allapotbol atbillenjen 0-sba - ez ugy sohasem fog bekovetkezni...
(#) potyo válasza trudnai hozzászólására (») Szept 17, 2008 /
 
Azt igazából én rontottam el Bár a szimulátorból ki kellene, hogy derüljön :felkialtas:
(#) Sendi válasza potyo hozzászólására (») Szept 17, 2008 /
 
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
(#) watt hozzászólása Szept 17, 2008 /
 
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?
(#) trudnai válasza watt hozzászólására (») Szept 17, 2008 /
 
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.
(#) zsimon válasza trudnai hozzászólására (») Szept 17, 2008 /
 
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.
(#) krkic hozzászólása Szept 17, 2008 /
 
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?
(#) sirály12 válasza krkic hozzászólására (») Szept 17, 2008 /
 
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.
(#) watt válasza zsimon hozzászólására (») Szept 17, 2008 /
 
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...
Következő: »»   287 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem