Fórum témák
» Több friss téma |
Fórum » MPLAB kérdések
Fenébe. Valakinek esetleg van valami tippje hogy hogy tudnám meg csinálni azt hogy mplabon ban megnyomok egy gombot és akkor egy bizonyos sorra ugorjon a programban és picit2 vel debuggolja a picet.
Ha jól tippelek, erre való a breakpoint, azaz töréspont. Megjelölsz egy sort a bal oldali szürke sávon dupla kattintással, majd elindítod a programfuttatást és az a töréspontnál meg fog állni teljesen. Onnan pedig a Step ... műveletekkel továbbléphetsz.
A break pointot használtam eddig is csak valamiért a pickit 2 debuggnál csak 1 break pointot tehetek le vagy is többet is de egyszerre csak egy aktív. Ezt nem lehet valahogy kiiktatni hogy annyit tehessek le amennyit csak akarok. Mert akkor könnyű lenne a dolog sőt tökéletes. Csak ez miatt kicsit így körülményes hogy fent a break pointnál mindig kinyomni majd egy másikat bekapcsolni. Azt lenne a jó ha tudnék egyszerre több aktívat letenni. Esetleg erre tudsz megoldást nagyon megköszönném?
Komolyabb (= drágább) programozó/debugger segítségével (pl. ICD) lehet egyszerre több aktív breakpointot is elhelyezni, de a PICKit2- vel csak egyet lehet.
Hali!
Lenne egy kérdésem. MPLAB alól programozok PIC-et (PICkit2-vel), és a program feltöltése után, amikor kiírja az MPLAB hogy "PICkit 2 Ready", akkor kivehetem a cél PIC-et az ICSP-ről? Nem kell előtte a "Programmer --> Select Programmer--> None"-ra kattintani? Csak mert eddig mindig így csináltam, mert féltettem a PIC-et, de mostmár unok mindig kattintgatni.
Felesleges, mert a PK2 rogramozas utan lekapcsolja a feszeket a PIC-rol.
Azt hiszem főleg abban különbözik, hogy tranyók helyett FET-ek vannak. Az nem baj, hogy világít a sárga (target) LED?
Merd meg alap allapotban van-e a VDD-n fesz.
Ha a Select Programmernél a "None" van kiválasztva, akkor nincs fesz a VDD-n, de ha a PICkit2 van kiválasztva, akkor van.
Hasznald a PK2 sajat proggijat, es megszunik minden gondod.
Hali.
Volna egypár kérdésem az MPLAB-al kapcsolatban és ezek a következők: - ha egy új fejlesztőkörnyezetet telepítek azt nem integrálja be az MPLAB automatikusan mert azt tudom hogy be kell állítani a mappákat meg minden de az MPLAB olyan mappák helyeit kéri amilyenek nincsenek az adott fejlesztőkörnyezetben (pl. CCS C). Nem lehet valahogyan megoldani az integrálást automatikusan? Telepítettem még a Hi-Tech C-t is de azt sem ismeri fel és nem tudom integrálni. - a C30 fordító minden PIC-et támogat vagy csak az adott PIC csoportot (PIC24-es széria)? Ez a C30-as fordító ingyenes vagy fizetős? Ha van ingyenes verzió az mennyivel nagyobb kimeneti fájlt generál mint a fizetős? A válaszokat előre is köszönöm és mindenkinek boldog ünnepeket kívánok.
Hali.
Szeretnék egy 12f675 A/D bemenetét szimulálni, úgy hogy ne H vagy L szinten legyen, hanem a H L között szeretném változtatni. Magyarul az A/D bemenő feszt szeretném változtatni. Meglehet ezt csinálni az Mplab-ban mert Én csak a magas vagy alacsony szintrehúzást találtam.
Vagy leszimulálod a Proteus nevű programmal vagy próbapanelen összehozod, mert ha jól tudom ilyen nincs az MPLAB-ban csak nyomógomb szimulálás meg ilyen. Nézz szét a DEBUGGER - STIMULUS menüben vagy kukkants bele a PIC MIKROVEZÉRLŐK ALKALMAZÁSTECHNIKÁJA című könyvbe.
Köszi, a Proteusban megy a progim csak a továbbfejleszéshez kellene látnom azt, hogy ha változtatom a bemeneten a feszt milyen értéket ír a munkaregiszterbe. Ha csak símán H ra húzom a stimulus-ban nem ír semmit a W-be pedig oda kéne írja az értéket, mindig csak 000... vannak.Ugyan ez ha alacsony szintre húzom.
Szerintem akkor valamit rosszul állítottál be.
Hali.
Tudok adni egy jó ötletet, hogy hogyan tudod megnézni bizonyos regiszterek tartalmát. A DEBUGGER-SELECT TOOL menüben menj a Proteus VSM-re. Utána kidob egy ablakot ami pont olyan lesz mint a proteus szerkesztője és nyisd meg azt a fájlt amelyik a kapcsolásodat tartalmazza. Ezután elindítod a szimulációt és már figyelheted is hogy mi történik a poti állításakor a regiszterekkel. Remélem fog működni
Köszike már próbáltam, nem megy. Amire kívácsi lennék azt nem írja ki. Az ADRESH értéke érdekelne azt írja be a time-ba, de a time-ba is csak 00... vannak. Ami nemigaz mert a szimulált kapcsiban megy rendessen, és élőben is működik.
BSF ADCON0,GO ; adc on ADV NOP NOP BTFSC ADCON0,GO GOTO ADV MOVF ADRESH,W MOVWF time
Tedd fel a proteus-os kapcsolási rajzát és az asm-et megpróbálom hátha történik valami.
12F615-höz próbálok írni programokat, egyenlőre csak MPSIM-el tesztelve. (GPIO 5..0 van rajta, ebből GP3 csak bemenet lehet). TRISIO-t beállítom 00001000 -ra, azaz csak a gp3 bemenet. Ezután írok egy 37-et (110111) a GPIO-ra, a GPIO értéke viszont már csak 35 lesz, azaz GP2 nem vált 1-re, ha ezután kiolvasom a GPIO-t, akkor már csak 30 kerül a W-be. Azaz eltűnik az összes alsó bit. Valóságban még nem tudom kipróbálni. Szerintetek miért lehet ez?
hmli
Az ANSEL regiszter törölve (0-ba állítva) van? Ez felelős a portkivezetések analóg-digitális konfigurációjáért. Mivel Te digitális be/kimenetként szeretnéd használni a GPIO lábakat, a megfelelő kivezetéshez tartozó ANSEL biteket törölni kell.
Bingo.
Erre nem gondoltam, adatlap szerint is 0F-el indul az ansel. Töröltem, így működik. Köszi.
Hali.
Találkoztatok már olyannal, hogy amikor szimuláltok és figyelitek a zero, carry és digit carry regisztereket akkor hülyeségeket ír? Mert most tesztelgetek és valahogy nem akarnak változni. Hiába indítom újra a szimulációt akkor is ugyan az az érték marad pedig változnia kellene. Nem értem miért lehet ez. Ha valaki tud rá választ kérem segítsen. Köszönöm.
Szia!
Nálam mindig jól működik, nézd meg esetleg az adott utasítás egyáltalán változtatja-e az adott status bitet.
Az add utasítást próbáltam több változóval de semmit nem módosított a c, dc és z biteken.
Program lista? Ugy talan konnyebb lesz.
Hali
Az ASM listara gondoltam nem a fordito kimeneti listajara. |
Bejelentkezés
Hirdetés |