Fórum témák
» Több friss téma |
Fórum » MPLAB kérdések
Ha nagyobb, mint 4MHz-es kvarccal akarom hajtani a PIC-et akkor elég csak az "OSC" konfig bitet "HS"-re állítani?
A kovetkezo hibauzenetett kapom MPLAB-ban:
Error - could not find definition of symbol 'main' in file 'C:\MCC18\lib/c018i.o'. vajon mi lehet a problema?
A probléma az, hogy egy C nyelvű program a futását mindig a main nevű függvénynél kezdi. Neked meg nincs main függvényed a forrásfájlodban.
Sajnos nem ilyen egyszeru
Van Main fugvenyem a main.c fileben: void main (void){ InitializeSystem(); while(1) { ClrWdt(); if(CMPT&0b00000001){LATCbits.LATC2=1;}else{LATCbits.LATC2=0;} // if(CMPT&0b00000010){LATCbits.LATC1=1;}else{LATCbits.LATC1=0;} // if(CMPT&0b00000100){LATCbits.LATC2=1;}else{LATCbits.LATC2=0;} USBDeviceTasks(); ProcessIO(); } } DR google ajanlasara kiprobaltam a int main (void) ot is de nem ment Idézet: „Van Main fugvenyem a main.c fileben” Az lehet, csak a fordító nem látja, így végeredményben ugyanott tartunk. Láttam az USB-s topikban már megoldódott a problémád, sok sikert a továbbiakban!
Hi!
Miért nem tudok egyetlen programot se lefordítani. Mindig az alábbi hibaüzenetet kapom (csatolva). Már kipróbáltam az MPLAB több verzióját, gyári forrásprogramokat de minig ezt a hibát írja ki. Jelenleg az MPLAB_IDE_8_33 és az MPLAB-C18-Upgrade-doc-v3_06 van fenn.
Hello.
Win7-em van, nagyon furcsán viselkedik az mplab. Van amikor többször kell a fordításra nyomni, hogy sikeresen leforduljon, nem találja az includolt file-t pedig a project könyvtárában van. Ez a hibakód: HI-TECH C PRO for the PIC18 MCU Family V9.63PL3 Copyright (C) 1984-2009 HI-TECH SOFTWARE licensed for evaluation purposes only this licence will expire on Sat, 02 Oct 2010 Advisory[1233] Employing 18F2420 errata work-arounds: Advisory[1234] * Corrupted fast interrupt shadow registers Error [499] ; 0. undefined symbol: _main(startup.obj) És a forrás: #include #include "p18f2420.h" void main(){ TRISB = 0x80; // Only RB7 will interrupt on change IPEN = 1; // Interrupt priorities enabled PEIE = 1; // enable peripheral interrupts RBIP = 0; // make this a low priority interrupt RBIE = 1; // enable PORTB change interrupt RBIF = 0; // clear any pending events GIEL = 1; // enable low-priority interrupts while(1)continue; // sit here and wait for interrupt } void interrupt low_priority b_change(void){ if(RBIE && RBIF){ PORTB; // Read PORTB to clear any mismatch RBIF = 0; // clear event flag } } Köszi
Jó estét!
PIC16F59-el ügyködöm és a következő problémába ütköztem: Error - file './fw1.o', section '.org_0', performs a call to symbol 'OUTPUT0' which is not in the lower half of a page. Ha jól értelmezem a memória területet az első programmemórialapon feléltem. Hogyan lehet memóriaterületet váltani a programban? BxF STATUS, PA1 BxF STATUS, PA0 Ezekkel nem megy.
Találkozott már valaki ilyen szöveggel fordítás közben:
Idézet: ?„Days remaining until evaluation becomes feature limited: 44 WARNING: The procedural abstraction optimization will not be supported when the evaluation becomes feature limited.” Mint ha valami próbaverzió lenne... A multkor még 55 days volt, (gondolom 11 napja ), de nincs kedvem megvárni azt a 44 napot, hogy kiderüljön mit kéne csinálni
Az Evaluation fordító 60 napig teljes értékű fordítóként (PRO) működik, használja a kiterjesztett utasításkészletet, valamint jobban optimalizálja a kódot. Ha ez az idő letelik, ugyanúgy le fogja fordítani a kódodat, csak nem használja a kiterjesztett utasításkészletet, és kevésbé optimalizál. Emiatt a lefordított kód mérete növekedni fog.
Közbe leszedtem a "MPLAB C for PIC18 v3.36 in LITE mode" félét, erről azt írják hogy teljes értékű és ingyenes, felraktam, és természetesen nem írja ki a lejárati időt. Csak vajon mennyire teljes értékű a másikkal...
Az evaluation verzió is lite módba vált át, kódméret korlátozás nincs, de a korábban említett optimalizálás és kiterjesztett utasításkészlettel való ügyeskedést már nem támogatja.
Köszi a válaszokat!
Ki lehet valahogy játszani? :hide:
Biztosan, de egyelőre valószínűsítem nem fogsz olyan kódot írni ahol elengedhetetlen lenne a profi verzió.
Zárójelesen jegyzem meg, hogy sok mindenre elegendő ám a 16 kszó is.
Akkor nem rakom vissza a "MPLAB C for PIC18 v3.36 Standard-Eval Version"-t. Ha ez a LITE verzió is ugyanaz, csak nem írja ki majd 44 nap múlva minden fordításnál hogy nincs atomra összeoptimalizálva.
Sziasztok!
Most próbálok először Mplab-ban CCS C-s progit szimulálni de nem tudom , mert egyrészt nem látom a saját változóimat /out of scope-ot ír ki a watch ablak/, másrészt megáll a futás az #use i2c sornál ! Aki tud kérem segítsen, mert a programom még nagyon kezdő fázisában van de sajnos most sem működik már megfelelően és valahogy rá kellene jönnöm a hibámra hogy tovább léphessek!
Ha az MPLAB szimulátorával csinálod nem is fog tovább jutni, mert az a DS1307 válaszait nem szimulálja...
Hali!
A View --> Locals menüből lehet a változók értékeit nézni? Régebben mintha sikerült bolna, akkor is ezzel hoztam elő, de most valamiért nem akar menni.
A View > Watch ablakban mindenesetre látható, amit szeretnél.
Ilyen is csak velem történhet meg.
Most szedhetek le szerintem egy másik verziót. Aki tudja mi lehet a baj, azt megköszönném ha szólna.
Megvan!
A Build Optionsnál fordításnál az "absolute code"-t kell kiválasztani. :yes: szerk.: Tehát a tanulság az, hogy amikor új projectet hozunk létre, akkor elvileg kiad egy ablakot, hogy válasszunk Abolute code és Relocatable code közül. Az Absolute code-t válasszuk!!! Esetleg ha valaki nem azt választaná és úgy járna mint én, akkor most már tudja hogy mit kell tenni, vagyis a Project-->Build Options-->Project menüben a képen látható beállítást kell elvégezni.
Helo
Olyan kérdésem lenne hogy hogyan lehetne megoldani hogy picit2-vel debuggolom a picet és közben szeretnék a gépen stimulust állítani. Ezt hogy lehetne megoldani?Vagy a debuggolás közben ha automatikus léptetésre teszem hogy tudom beállítani hogy gyorsabb legyen a léptetés? Segítséget előre is kösz.
Hali
A stimulusnak nem sok ertelme van ha van HW, mert ott tudod a bemeneteket piszkalni manualisan. Eppen ezert nincs benne. Az automatikus leptetes idejet a debug option-ban tudod allitani. Csa Vili
Köszi szépen a segítséget csak azért kellett volna mert így kommunikálok wifin keresztül lapival, lapival meg pickit2 keresztül debugg módban a pic el mert még nem tudtam írni usb progit . És azért kellet volna nekem stimulus hogy a távoli lapiról tudja stimulust csinálni.
Még egyszer köszi.
Pontosan hol kell állítani mert én ha megnyitom a debugger settings-t ott nem találok olyat ahol lehetne állítani az időt.?
A stimulus tudomásom szerint a szimulátor része. A szimulátor és a HW debug viszont kölcsönösen kizárják egymást.
Debug módban a regisztereket vagy memóriarekeszeket (változók) próbáld meg módosítani.
Azt szeretném én is most már hogy egy regisztert csinálok és annak értékét állapítom meg és abból eldöntöm mit csináljon csak ahhoz fel kéne állítani a debugger léptetési időt. Azt viszont nem találom meg köszönném ha valaki pontosan leírná merre találom meg .
Hali
PK2-vel ez sem mukodik. Csak a MPLAB SIM alatt lehet allitani. |
Bejelentkezés
Hirdetés |