Fórum témák

» Több friss téma
Fórum » MPLAB kérdések
 
Témaindító: Thomas10100, idő: Nov 27, 2005
Lapozás: OK   13 / 25
(#) Hp41C válasza roland9 hozzászólására (») Ápr 12, 2015 / 1
 
Még mindig Debud módban fordítasz. A két tetején, középen a Debug módot állítds át Release -re.
(#) zenetom válasza roland9 hozzászólására (») Ápr 12, 2015 / 1
 
Akkor jóvan' akkor!

Ékezetes betű és a szóköz még mindig ott van az elérési útvonalban! Még mindig debug módban van!
A 2 include fájl legyen ott az asm fájl mellett!
(#) roland9 válasza zenetom hozzászólására (») Ápr 12, 2015 /
 
Köszi, megvan, debug-ot el felejtettem át állítani.
Köszönöm még egyszer!!
(#) zenetom válasza roland9 hozzászólására (») Ápr 12, 2015 /
 
Na, ennek örülünk!

Hp41C: Nálam egyébként debug módban is jól fordul le. Erről valami vélemény?
(#) Hp41C válasza zenetom hozzászólására (») Ápr 12, 2015 / 1
 
Release mód: Csak a forrásban szereplő kód kerül a kontrollerbe, a konfigurációs szóban (szavakban) a DEGUG bit nem aktív - az on chip debugger funkció tiltva.
Debug mód: A forrásban szereplő kódon kívül egy nyomkövető kód (Debugging Executive) is bekerül a kontrollerbe, a konfigurációs szóban (szavakban) a DEGUG bit aktív - az on chip debugger funkció engedélyezve. A kód kommunikál az MpLab rendszerben beállított nyomkövetővel (debugger), nélküle nem indul vagy nem fut rendesen.
(#) devergo74 hozzászólása Ápr 30, 2015 /
 
Sziasztok.
Valaki nem tudna ajánlani valami könyvet, az mplab használatához? Az alapoktól szeretném tanulni, de idáig nem sikerült szerezni használható leírást.
(#) Hp41C válasza devergo74 hozzászólására (») Ápr 30, 2015 /
 
(#) devergo74 válasza Hp41C hozzászólására (») Ápr 30, 2015 /
 
Tudom hogy segít, meg töltöttem is le, csak arra gondoltam hátha valaki tud ajánlani valami konkrétat.
(#) Pali79 hozzászólása Máj 13, 2015 /
 
Az Mplab szimulátorba be lehet olyat állítani, hogy az INT lábra bizonyos időközönként megszakítást adjon? Manuálisan tudom, hogyan kell, de az nem jó nekem most.
(#) kissi válasza Pali79 hozzászólására (») Máj 13, 2015 /
 
Persze... A Stimulus--> Clock Stimulus fülön például tudsz ilyet megvalósítani !
(#) Pali79 válasza kissi hozzászólására (») Máj 19, 2015 1 /
 
Köszönöm, ez sikerült! Most A/D-t szeretnék szimulálni, nem feltétlen folyton változó értékkel, egy-egy rögzített értékkel is jó lenne, csak két csatornán.
(#) Pali79 hozzászólása Máj 19, 2015 /
 
Még egy kérdés: azt nem lehet valahogy nyomon követni, hogy a Timer1 hogyan számol?
(#) kissi válasza Pali79 hozzászólására (») Máj 19, 2015 /
 
Szia!

Van olyan lehetőség ( Register Injection, még nem használtam ! ), hogy egy-egy regiszterbe, adott órajelnél töltsön be egy-egy értéket, ez szerintem jó lehet!
(#) kissi válasza Pali79 hozzászólására (») Máj 19, 2015 /
 
Hogyne lehetne ! A View --> Watch menüben kiválasztod a megfelelőt !
(#) Pali79 válasza kissi hozzászólására (») Máj 20, 2015 /
 
Igen ez közbe nekem is eszembe jutott. Viszont nem a legjobb, mert ha anime módban nézem, a leggyorsabb fokozaton is egy örökkévalóság amíg túlcsordul és megszakításba megy, run módban meg nem látszik semmi, csak ha megállítom akkor tudom leolvasni a pillanatnyi értéket.
(#) kissi válasza Pali79 hozzászólására (») Máj 20, 2015 /
 
Van egy olyan eszköz is, hogy "breakpoint", az még a Te barátod ! Dupla kattintás az adott programsoron és normál ( gyors!) futás mellett ott fog megállni és megnézheted, amire kíváncsi vagy !
(#) Buvarruha hozzászólása Jún 16, 2015 /
 
Nem tudja valaki, hogy, hogy lehetne kikapcsolni az MPLABX-ben a "start page"-t? Megőrjít, hogy indítom a programot és álandóan az az ökörség ugrik be elsőnek..
(#) csaby93 hozzászólása Jún 24, 2015 /
 
Sziasztok!


Eddig jónéhány apróbb projektemet microC-vel fejlesztettem... Most szeretném kipróbálni a MPLAB-ot is, kicsit komolyabb illetve csak a MicroChip csinálja. A mikroC-t csak feltettem a programból beállítottam a fusebiteket aztán annyi volt, most nagyon elvagyok veszve MPLAB-bal, kérlek segítsetek a nulláról, mit hogy telepíteni, fordító stb... PICKIT2-vel programozok.
Előre is köszönöm a válaszokat!

Üdv: Csaba
(#) bbb válasza Buvarruha hozzászólására (») Jún 24, 2015 /
 
Szia!

Csak vedd ki a pipát alul, majd zárd be...
Ha tudnád mit küzdöttem most érte, hogy megtaláljam neked ezt a lapot a kép kedvéért Elővarázsolni úgy lehet legközelebb, hogy a Window menüben rákattintasz a "Reset windows" menüpontra.

mplabx.jpg
    
(#) Buvarruha válasza bbb hozzászólására (») Jún 26, 2015 /
 
Ó mekkora egy ork vagyok... És tényleg ott van, majd kibökte a szememet.. Istenem... Kösz.
(#) fraba hozzászólása Okt 12, 2015 /
 
Sziasztok!

Az MPLABx IDE v2.2 illetve a legújabb v3.1-es verzióban is, Debugger módban a Program Counter random ugrál random helyre, anélkül, hogy bárki utasította volna rá. Például a PC a 0x0000->0x02A7->0x0001->0x0003 címeket járja be, pedig a main függvény első négy sorában csak változódeklarálás van...
C18-as fordítót, és a beépített, szoftveres debuggert használom.
(#) Hp41C válasza fraba hozzászólására (») Okt 12, 2015 /
 
Kapcsold ki az optimalizálást.
(#) fraba válasza Hp41C hozzászólására (») Okt 12, 2015 /
 
Azt hol/hogy kell?
(#) Hp41C válasza fraba hozzászólására (») Okt 12, 2015 /
 
Tegyél inkább a main első - végrahajtható kódot is tartalmazó utasítására egy töréspontot, fordítsd le újra a programoz és indítrd el (run). Meg fog állni a töréspontnál.
(#) fraba válasza Hp41C hozzászólására (») Okt 12, 2015 /
 
A töréspontnál megáll, nem azzal van a baj. Az első blokk a mainben pár változó deklarálás, ami kell a programban, több sorban.

Például:

void main()
{
int blablalba
float blablalba
char blablabla
[...]
}

fgv1()
{
}
fgv2()
{
}
fgv3()
{
}
[..]
fgv23()
{
}
fgv24()
{
}
Rálép az int deklarálásra (tegyük fel, hogy PC=0x0000), majd elugrik az egész program vége felé egy függvényre, pl fgv23 (PC=0x03AF), majd visszaugrik mondjuk a char deklarálásra(PC=0x0003). Nem is vagyok biztos benne, hogy a floatról a későbbiekben tudomása van, hiszen azt a blokkot, amit tesztelnék (amiben szerepel) azt szépen úriasan átugorja, mint ha ott sem lenne. Pedig áll vagy 20-30 sorból.... és ugyanígy a mainben is ugrál össze vissza, a függvények törzsébe is teljesen random beugrik.. ?! :O
A hozzászólás módosítva: Okt 12, 2015
(#) ktamas66 hozzászólása Okt 20, 2015 /
 
Sziasztok!
Szeretnék programozni egy 16F1718-at. Ezt a picet a régi 8.92-es MPLAB nem ismeri, ezért feltettem az MPLABX 3.10 verziót, de evvel sem tudom programozni, mivel mindig azt írja megszakadt a kapcsolat a Pickit3-mal. A kapcsolás próbapanelen van, és egy darab ledból áll, a program le van fordítva hexbe. A Pickit 2.5 és a hozzá való programmal tökéletesen működik, tudom programozni. Kipróbáltam PICKIT3-mal MPLAB 8.92-ben ha 16F1788-ra van állítva szépen kiírja, hogy nem megfelelő a pic, tehát látja. Az MLABX mindig az alábbi hibát mutatja.
(#) Pali79 válasza ktamas66 hozzászólására (») Okt 20, 2015 /
 
Idézet:
„A Pickit 2.5 és a hozzá való programmal tökéletesen működik, tudom programozni.”

Akkor most mi is a kérdés?
(#) Hp41C válasza fraba hozzászólására (») Okt 20, 2015 /
 
Nos akkor egész előlről:
A C nyelvből lefordított program felépítése vázlatosan:
Reset vektor: Ugrás az inicializáló kódra. Pd. c018i.o stb. Ebben elvégzi a legfontosabb műveleteket: stack (a paramétereké - nem a PC mentésére szolgáló) létrehozás, STATUS ill. RCON regiszter mentése (a reset oka kideríthető legyen). Meghívja a globális változók kezdőérték beállító rutinját, majd az egyes modulokét. Ezután meghívja a main() függvényt.
Interrupt vektor(ok): Megszakítás kezelő rutinok.
Törzs: A modulok kódja a szerkesztési állomány alapján. Minden modul kódja tartalmaz egy kezdőérték beállító részt, amivel a kezdőértékkel rendelkező változókat tölti fel.

Minden függvény rutinja három részből áll:
A lokális változók létrehozása a stack -en, kezdőértékük beállítása, a tényleges eljárás kódja és a lokális változól felszabadítása (visszatérési érték beállítása amennyiben azt a WREG -ben kell visszaadni). A debugger a kezdőérték beállítása szolgáló vagy tényleges kód első sorára ugrik, ha az eljárásba nyomkövetéssel lépünk be.

Ehhez jön még az optimalizálás, ami az esetlegesen többször előforduló azonos kódokat kis rutinokba teszi és call / rcall utasítással hívja.

Ebből adódik a látszólag rendezetlen ugrálás. Ha a C sorokra tennél töréspontot, akkor jobban lehetne követni a futást. Ha a futtatás egy eljárásban beállított törésponton megáll csak a globális változók, az abban az eljárásban deklarált lokális változók és paraméterek érhetők el a szimulátor ill. debugger számára.
(#) Hp41C válasza ktamas66 hozzászólására (») Okt 20, 2015 / 1
 
PICkit3 és a MpLabX programmal minden "Connection Failed" után nyomj egy "Connerct" -et. Lesz belőle legalább négy-öt...
A hozzászólás módosítva: Okt 20, 2015
(#) ktamas66 válasza Hp41C hozzászólására (») Okt 20, 2015 /
 
Köszi! Erre nem jöttem rá, pedig az feltűnt, hogy hol az RS-nél, hol az AP-nál írja a próbálkozások során . Azt sem értettem miért cserél FW-t a 1788-ról 1718-ra váltáskor, de így már működik.
Következő: »»   13 / 25
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