Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Debizony. Teljesen igazad van. Csak mar regen foglalkoztam 16F-esekkel...
Ez van a Config biteknél beállítva
Oscillator: HS Watcdog: Off Power up Timer: On Code protect: Off Brown Out: On Low Voltage Program: Disabled (ez az LVP) Data EE Read Protect: Off Flash Program Write: Enabled A kódban ez van: __CONFIG _HS_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF Ezt szoktam időnként felülbírálni a config bites beállítással, de az LVP mind a kettőnél off.
Ebből azt lehet tudni, hogy a PGM láb nem okozhatja ezt a hibát. Valami más baj van. Ha egyszer már működött, akkor neked kéne tudni mit változtattál meg közben, nem? :kerdes:
Elmondom mi lehet a hiba. Senki nem írta.
Amikor ICD2-t használod a PIC-ben aktivizálódik a Debugger nevű belső rész, hogy maga a PIC aktívan együttműködjön a fejlesztő környezettel. Ilyenkor a Program amit fordítasz DEBUG üzemmódban fordul. Ha viszont leszeded az ICD2-t a köldökzsinór ugye elszakad, de a PIC még mindig DEBUG-ban van. Tehát próbáld meg azt hogy az ikonsorban átállítod RELASE-re ésígy programozd fel, ha utánna már hozzá sem kell nyúlnod. Én a saját project-emben még idáig nem jutottam el, de ez véleményem szerint nem lehet olyan rossz tipp. És talán még logikus is...
Természetesen release módban van, és újra is lett fordítva, és azt töltöttem bele.
Üdv Nektek!
A Topi féle cikkből probáltam első PIc asm prgimat összehozni, de elakadtam. __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF ez szerepel a harmadik sorban erre pedig debugg-ban ezt az errort kapom: D:\PIC\KESZ\MAIN.ASM 3 : Argument out of range (not a valid config register address) Ez mit jelent? nem igazán tudom értelmezni. Köszönöm a választ előre is!
Ugye tudjátok, hogy van újabb driver illetve software a PicKit2-höz a Microchip oldalán
Esetleg nem jó PIC van kiválasztva a fordítónak? (tartományon kívüli értéket jelez, ami azt jelenti, hogy annál a kontrollernél nincs ilyen beállítási lehetőség.)
Nem tudjuk, biztos azért, mert már ez is tök jól működik! (egyébként folyamatosan várnánk a következőt)
Tanácsom, csak akkor változtass, ha van értelme, egyébként csak bajt hoz...
Milyen PIC-et használsz? Azt jelenti (leegyszerűsítve) a hiba üzenet, hogy nem létező konfigurációs beállítást adtál meg.
Igazából a CD-n lévőt cseréltem le a mostanira, mivel a cégünk fejlesztője örömmel újjongott, mikor sok drága cucc tesztelése után kölcsön adtam neki pár napra a PICKit2-t és Ő szólt, hogy vannak frissétések, amik nagyon jó dolgok stb... De köszi a tanácsot, ezek után nem cserélgetem.
Ha tudna valami újat, akkor érdemes lenne, de ha nem, akkor minek.
Ami érdekes lenne, az az MPLAB újabb verziói, mert várhatóan egyre újabb típusok debbugerelését támogatja a PK2-vel. Akkor is nyűgöt okozhat, mert valószínű az fw-t is frissítik az MPLAB könytárában, és azt a PK2 könyvtárában is frissíteni, kell, mert különben egyik, vagy a másik nyekereg, hogy nem az a verzió van benne ami szerinte jó. Persze ezt egy copy-val meg lehet oldani. Idézet: „Ha tudna valami újat, akkor érdemes lenne, de ha nem, akkor minek.” Release note-ot erdemes elolvasni - pl dsp-ket gyorsabban firkalja meg egy csomo bugfix stb, szerintem nem rossz a frissites. Persze nekem mindig megvan a "history" a letoltott verziokbol es szerencsere a PicKit2 szoftvere eleg jol leszedheto szemet nelkul, szoval siman vissza lehet rakni az elozot ha valami baj tortenik. Persze nagy munka kellos kozepen en sem allnek neki a munkakornyezet frissitesenek
Goga!
PIC16F877-et használok, ahogyan Topi is irta a Nullátol a robotokig c cikkében. Ellenőriztem, hogy az a PIC van e kiválasztva és igen.
Így kezdődik a programod? Meg kell adni az include fájlt, amiből a fordító tudja, hogy mire "gondolsz". Esetleg elírtad az inc fájlnevet, vagy maga az inc fájl hiányzik a fordító könyvtárából.
LIST p=16F877 include "P16F877.inc" __CONFIG _HS_OSC & _CP_OFF & _WDT_OFF & _LVP_OFF
Ha az előbbiek nem segítenek: Tudom, nem sok minden változik, de hátha...add meg binárisan a konfigot: __config b'1111110111110'
Vagy hexában: __config 0x1FBE
Kivancsisagbol a legelso programot ami a cikkben szerepel leforditottam (ugyanezt a configot hasznalja mint amit ide irtal) - termeszetesen lefordul hiba nelkul.
Javasolnam, hogy a teljes forrast amit forditasz az osszes uzenettel ami az outout ablakban van mellekeld, hogy segiteni tudjunk.
Ha ha digitális formába van felraknád valamelyik tárhelyre? Érdemes megvenni?
Ahogy én emlékszem rá, amikor kezdtem foglalkozni a PIC-ekkel, akkortájt megszereztem és beleolvasgattam, de az adatlapok többet segítettek. Digitálisban nincs meg, csak papíron.
Nekem elvileg megvan. Majd felkínlódom valahová, ha tényleg megvan.
Én tudom mi a baj, de nem mondom meg
De, megmondom... szóval, inkább rávezetlek. Erről van szó: 1: a PIC16F887 egy 8 bites uKontroller. 2: kb 12 fajta dolgot lehet konfigból beállítani. Mit jelent ez a kettő? hogy nem egy CONFIG-regisztere van! Hiszen 8 bitbe nem lehet 10 fajta értéket tárolni! Vagyis, van neki egy CONFIG1, meg egy CONFIG2 regisztere. A magyarázatokat megtalálod a leírásokban, de még annyit segítek, hogy ennek működnie kell: LIST P=16f887 __CONFIG _CONFIG1, H'20A1' __CONFIG _CONFIG2, H'3FFF' #include "p16f887.inc" errorlevel 0,-302,-305 Idézet: „1: a PIC16F887 egy 8 bites uKontroller.” En mar teljesen ossze zavarodtam: Nem azt irta mrfencer, hogy 877-et hasznal?
Upsz! lehet, hogy én néztem be!
a 877 nem 887 ! Amit írtam, az a 887-re igaz, elnézést, ha ezzel megzavartam valakit. Ugyanakkor, érdemes megnézni a 877 adatlapját, lehet, hogy az is "dupla konfigos"...
Sziasztok!
Adott egy kis program és a közepén elküldöm goto-val a végére és onnan már csak az end utasítás van. Mégis újra kezdődik az egész program. Hogy lehet ezt megállítani?
Végtelen ciklus kell a program legvégére, közvetlen az end elé. Máskülönben elkezdődik a prog. memóriában tárolt program futása elölről...
|
Bejelentkezés
Hirdetés |