Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Most vettem 4 db PIC18F252-I/SP -t gyakorlatozni vele.
Még azért nagyon kovász az egész. Idézet: A dsPIC30, dsPIC33, PIC24FJ, PIC24HJ esetén más-más elérési út kell ugyanahhoz a fordítóhoz. Akkor most melyik legyen az alapértelmezett? Te viszont állíthatsz be magadnak alapértelmezett elérési utat az MPLAB Projekt menü Set Language Tool Locations pontjában. „miért nincs alapértelmezettként benne ez az elérési út?”
Angollal hogy állsz? itt található egy PIC18F242-höz való tananyag, ami könyv formájában is elérhető és a mintaprogramok is letölthetők. A mintaprogramok eredetileg HiTech C fordítóhoz készültek, esetleg érdemes azzal próbálkozni, bár a mintaprogramok újabb, átdolgozott kiadása elvileg a Microchip C18 fordítójával is lefordítható.
A PIC18F252 elvileg csak abban különbözik a könyvben szereplő 242-től, hogy dupla méretű a ROM és a RAM.
Csinálgatom, csak időm nincs... Azért időnként nézz vissza. Mint írtam is, igyekszem nagyon leegyszerűsítve, konyhanyelven eljuttatni az olvasót az első 1-2 sikeres programig. Addig is olvass itt a HE-n, mert nagyon sok értékes leírás van. Ja, és vicsys, nem vicsis. Tudod, nem mindegy, hogy kukás vagy kakás...
Nézz fel az oldalamra, vannak linkek, pédaprogik. Arról is olvashatsz, hogy szerintem mi kell ahhoz, hogy valaki PIC-el foglalkozzon. Sok sikert, jó tanulást!
Üdv !
Tegnap programoztam egy PIC24FJ256GB210 -et. Beírtam az USB hid bootloadert, a microchip solution könyvtárból. Működik hibátlanul , de nem tudom ujraprogramozni a pic-et. Olvasásnál is 0x0000-kat olvas be az mplab. Így még nem jártam tud valaki megoldást, a panelt nem szivesen cseszném szét egy cserével. Utána néztem, hogy config biteket a következőképpen állítja be a projekt: _CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & FWDTEN_OFF & ICS_PGx2) _CONFIG2( 0xF7FF & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_ON & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV2 & Kód védelem elvileg ki van kapcsolva, de az ICS_PGx2- van beállítva én a PEGC1 és PEGD1 lábakat használom programozásra, és most is ott ismeri fel az icd2 a pic-et. Mi lehet a baj, tud valaki megoldást? Gyakorlatilag a végleges programot még most szeretném beírni. Válaszokat előre is köszönöm.
Szia!
Nem lehet (egyszer) a PGx2 lábakat felhasználva átprogramozni...
Nem értem. A PGx1 lábakat használom, nemtudom, hogy microchipék miért raktak a mintakódba ilyet.
A programozó továbbra is csak a pgx1 lábakon ismeri fel a pic-et. PGx2-n nem ismeri fel a procit az icd2. Az adatlap szerint amugy is valami emulátor módot kapcsol át ilyenkor, az nem tudom mi. Akkor most mit csináljak?
A GB típushoz nem volt még szerencsém, de az összes PIC24/dsPIC33 típusnál a ICS_PGx2 opció tudomásom szerint csak a debug-olásra van hatással, programozni bármikor, bármelyik összetartozó PGCx/PGDx lábpáron lehet.
Egyébként működik a bootloader? Ha igen, akkor tudsz próbaalkalmazásokat programozni vele? S tudsz-e memóriát kiolvasni vele? Ha nem, akkor egy eszköztörléssel próbálkoznék. Jó lenne a kapcsolásnak legalább akkora részét látni, amiből kiderül, hogy a PGC1/PGD1 vonalakat nem zavarja/terheli-e valami, azaz az ICSP programozás feltételei teljesülnek-e. Idézet: Valószínűleg azért, mert az Explorer16 kártyán a PGC2/PGD2 megy az ICD2 csatlakozóra. „nemtudom, hogy microchipék miért raktak a mintakódba ilyet”
A bootloader megy, de át kell raknom a boot mód lábat másik lábra. (nem gondoltam, hogy csak egyszer tudok programozni).
A panelen semmi nincs csak a pic, a táp, meg egy usb csatlakozó. A PGx2 portokon nem tudom sem írni sem olvasni a pic-et. Tehát mégegyszer a PEGC2/PEGD2 lábakon nem tudom elérni a pic-et, csak a PEGC1/PEGD1 lábakon, ezért nem értem mi a baj. Érdekes, hogy ugyanezt a kódot másik pic en is kipróbáltam és ott semmi baj nincs vele, tudom írni, olvasni a pic-et. Idézet: Ha nem cserélted fel a PDC2 és PGD2 lábat, és mégsem megy a felismerés, akkor nagyon valószínű, hogy ez a PIC megnyekkent. „A PGx2 portokon nem tudom sem írni sem olvasni a pic-et.”
Az MCLR láb hogy van bekötve? Milyen alkatrészek vannak(beleértve a programozón belüli alkatrészeket is) a lábon, a test vagy a Vdd felé?
De mitől, még van 2 db, de a panelek 100.000 Ft-be voltak, nem szivesen kísérleteznék, hétfőn még megkérdem a chipcadet, bár őket ismerve majd jól szétteszik a kezüket.
A PGx2 nem ismeri, de a PGx1-en felismeri, programozza, csak az ellenőrzésnél van hiba. Ha csak olvasom akkor meg csak 0-kat olvas vissza, de még ha kiolvasás védelem lenne, akkor is újrakéne tudnom írni. Ugyanez a pic, csak kisebb Flash-el hibátlan.
Az MCLR egy 4k7-el van a VDD-hez húzva semmi más.
A programozón belül meg az amit a MICROCHIP belerakott az ICD2-be, nem tudom.
Kicsit kicsi a 4k7, de olyan jellegű bajt nem okoz, mint amit a hiánya okozna.
Ha felismeri az égető, akkor rendben kell lennie a PIC-nek, szerintem. Én azt mondom, hogy a kódvédelem van bekapcsolva. A kikapcsolásához teljes törlést kell alkalmazni, nem csak újra programozni. Addig kell törölni, amíg üres nem lesz a PIC(FFFFFF)!
Megnéztem PGx2 lábakon is felismeri a picet, de a verifynél elakad, hogy 0x00 jön vissza.
MPLAB ICD 2 ready for next operation Programming Target... ...Validating configuration fields ...Erasing Part ...Programming Program Memory (0x0 - 0x147F) Verifying... ...Program Memory ICD0161: Verify failed (MemType = Program, Address = 0x0, Expected Val = 0x40400, Val Read = 0x0) ICD0275: Programming failed. MPLAB ICD 2 ready for next operation
Szerintem ez a baj:
PIC24FJ256GB210.h-ban a configok jelentése: ** Segment Write Protection Disable: ** WPDIS_WPEN Enabled ** WPDIS_WPDIS Disabled ** ** Write Protect Configuration Page Select: ** WPCFG_WPCFGEN Enabled ** WPCFG_WPCFGDIS Disabled Ahogy a projectben van: _CONFIG3( WPCFG_WPCFGDIS & WPDIS_WPDIS) //Disable erase/write protect of all memory regions. Tehát ahogy én értelmezem: Segment Write Protection Disable bithez ez "WPDIS_WPDIS Disabled" van beállítva, tehát a szegmens írásvédelem tíltását tíltotta nem?
Összeraktam egy másik panelt egy új pic-el, leellenőríztem a configokat beírtam és ugyan az.
Ugyanez a kód a 206 ban működik és újra is tudom írni. Ja és a program nem fut a picben.
Én úgy gondolom, hogy a WPDIS_WPDIS elnevezésben a második disable nem az első disable tagadása. Az első tag csak a bitet nevezi meg, a második pedig a funkciót. Tehát simán Write Protect Disable, erre utal a forráskódban a komment szövege is. Nincs írásvédelem...
A WPCFG_WPCFGDIS esete egyszerűbb, ott egyértelműen a konfigurációs terület írásvédelmének letiltásáról van szó.
Bevallom nem tudom, de azt igen, hogy ha törlöd a PIC-et, akkor FFFFFF-eket kell kiolvasnod belőle.
Most néztem, hogy az icd valamiért folyamatosan kiadja az 5V Vdd-t a programozó kábelre.
Így ha rá van dugva a targetre, akkor a pic tápja 3v3-ról 4v75 re emelkedik. Igaz a többi 24-est nem zavarta, létezhet, hogy ez a baj? Idézet: „A panelen semmi nincs csak a pic, a táp, meg egy usb csatlakozó.” Hidegito kondikat akkor tegyel bele, azonkivul MCLR-re kb 20k felhuzast (ha tul eros a felhuzas akkor nem biztos, hogy az ICD2 le birja huzni megfelelo szintre mikor kell). Nem ismerem ezt a tipust de lehet kell meg oda mas is, meg kell nezni az adatlapjat.
Találtam egy pofás PIC18F4520 demó kártyát, ami a PICdem2-höz hasonló kvalitásokkal rendelkezik. Az LCD panel levehető (mint az NDK turmixgép ajtaja...), alatta négyjegyű 7 szegmenses kijelző található. A panel érdekessége a CP2102 USB-UART átalakító, melynek segítségével egyszerűen kommunikálhatunk USB-n a számítógéppel, anélkül, hogy az USB programozással foglalkoznunk kellene. Me reggel vettem egyet $27 áron (~6000 Ft), ha kézbe vehetem (~2-3 hét?) majd bővebben is referálok róla.
A kártya a gyártótól is megrendelhető, $24 promóciós áron, de ehhez még minimum $8.4 portaköltség (HK opció) is járul. Az E-Bay árverésen kis szerencsével olcsóbb lehet. Megjegyzések: 1. Némelyik kép megtévesztően 2x20 karakteres megjelenítőt mutat. Nem kell elhinni... 2. A PICkit2/3-mal programozható kitétel csak azt jelenti, hogy kompatibilis velük. De programozót nem adnak hozzá!
Nem tunik rossznak ez! Ahogy nezem a doksibol csak be kell forrasztani par tuske csatit illetve a PIC kore headert es utana egeszen jol hasznalhato. Kar, hogy a 7 szegmenses csak akkor latszik mikor az LCD nincs ott - bar ha a labak nem utik egymast akkor akar szalag kabellel az is athidalhato.
Az ICD2 tud elér erős lehúzást, nem kell nagyon túlzásba esni a felhúzó ellenállásokkal. 10k bőven jó, én inkább még inkább lefelé szoktam menni, 4k7, 2k2, ami van épp kéznél.
Nemtudom, az ICD2 helyett már akartam mást venni, de sajna, az icd3 irreálisan drága, a real ice, is drága, bár az talán meg is éri az árát.
A pickit3-at nem ismerem, esetleg az jó lehet? Elvétve 18-as sorozatot, ezenkyvűl folyamatosan a 24-es sorozatot használom. Esetleg van tapasztalat, az icd2 amúgy is elavylt már, bár jó szolgálatot tett.
Kérdés, van valami probléma az ICD2-vel, ami miatt le akarod cserélni? Csak mert ha nincs probléma, akkor én nem cserélném csak azért, mert régi.
Nem, nincs baja, a 10k ötlet volt a nyerő, az megoldott minden problémát, köszönöm mindenkinek a segítséget !
|
Bejelentkezés
Hirdetés |