Fórum témák

» Több friss téma
Fórum » PIC10F programozása
 
Témaindító: Muri, idő: Júl 23, 2006
Témakörök:
Lapozás: OK   4 / 4
(#) potyo válasza tibcsi hozzászólására (») Márc 8, 2009 /
 
Szerintem csak a kalibrációs érték veszett el a programmemória végéről, és azért nem működnek, mert egy végtelen ciklusban forognak. Szedd ki a CALL 0x3FF sort, és próbáld ki úgy is. Szerintem jók lesznek. A Pickit2 programja törlés előtt lementi arról a címről az értéket, de a másik égetőprogramok nem.
(#) icserny válasza potyo hozzászólására (») Márc 8, 2009 /
 
Idézet:
„Szerintem csak a kalibrációs érték veszett el a programmemória végéről”

Ha a kalibrációs érték veszett el (pl. egy törlés miatt), akkor a PICkit2 saját programja (tehát nem az MPLAB alatt használva) figyelmeztetni szokott rá, és a Tools/OSCCAL menüben regenerálni lehet.

Most szándékosan nem tudtam előidézni ezt az állapotot, de korábban jártam már így vele, s a regenerálás után rendben volt minden.
(#) icserny válasza tibcsi hozzászólására (») Márc 8, 2009 /
 
Idézet:
„ez a 'logic analyser' dolog ez hol talalhato?”

Természetesen az MPLAB-ban.

A Debugger/Settings menüpontban a felugró ablak Osc/Trace nevű lapján Engedélyezni kell a Trace All opciót. Én most azt állítottam még be, hogy 1 K buffer betelése után álljon le (Break on Trece Buffer Full).

Megjelenítés bekapcsolása a View/Simulator Logic Analyzer menüpontban.

A program indítása előtt a Lgikai Analizátornál Trigger PC = Now (0x000000), és a Channels menüben a megjeleníteni kívánt jelek hozzáadása ajánlott.

Megjegyzés: a PICkit2 pedig hardveres Logikai Analizátor képességgel rendelkezik, 3 csatornán, max 1 MHz-es mintavételezéssel. A mellékelt képen véletlenül épp egy PIC12F675 működését ellenőriztem.

test.png
    
(#) icserny válasza vgyre hozzászólására (») Márc 8, 2009 /
 
Idézet:
„A program elején van egy CALL utasítás...”


Furán néz ki, de az adatlap szerint így kell kalibrálni a beépített RC oszcillátort. A 0x3FF címre gyárilag írnak be egy RETLW xx utasítást, ami visszatéríti a programot, s a W regiszterben a gyárilag ajánlott xx kalibrációs konstans lesz.

  1. bsf STATUS, RP0 ;Bank 1
  2.      call 3FFh ;Get the cal value
  3.      movwf OSCCAL ;Calibrate
  4.      bcf STATUS, RP0 ;Bank 0
(#) tibcsi válasza icserny hozzászólására (») Márc 9, 2009 /
 
"Mert Hübele Balázs módjára kapkodsz!"
He he . Ja, ez sajnos igy van. En hibam. :bummafejbe:

Az analyser-t meg megnezem az MPLAB-ban, ha lesz egy kis idom. Koszi.

Potyo: Megprobalom kitorolni a 'call 3FFh ' a progibol.
Megirom mi tortent.
(#) icserny válasza tibcsi hozzászólására (») Márc 9, 2009 /
 
Kíváncsian várom a végeredményt!
(#) tibcsi válasza potyo hozzászólására (») Márc 9, 2009 /
 
Kitoroltem a sort es mukodik a rosznak velt 675.

Nagy vagy potyo. cheers

Probaltam mas erteket megadni OSCCAL-hoz, de nem valtozott latszolag a freki. Ha jol ertelmeztem 6 bit-en elvileg lehetne valtoztatni, nem?
(#) icserny válasza tibcsi hozzászólására (») Márc 10, 2009 /
 
Ez jó hír! Mellesleg az adatlap figyelmeztet: "Erasing the device will also erase the preprogrammed internal calibration value for the internal oscillator. The calibration value must be saved prior to erasing part..."

Ahogy korábban írtam, a PICkit2-őt saját programjával futtatva regenerálhatod az OSCCAL beállításokat.

Idézet:
„Ha jol ertelmeztem 6 bit-en elvileg lehetne valtoztatni, nem?”

Igen, bizonyos határok között hangolhatod a 4 MHz-et...
(#) dickheadz válasza tibcsi hozzászólására (») Jún 21, 2009 /
 
Ezen az oldalon megtalálod, h miként lehet 'megkeresni az elveszett' OSCCAL értéket (google fordít )belső oszc. kalibrálása
(#) - Mixa - hozzászólása Feb 14, 2012 /
 
Üdvözletem Mindenkinek!

PIC10F200 -al szeretnék megvalósítani egy kapcsolást, 2 bemenet, 2 kimenet felállásban, VDD + GND -vel a 6 lábon. A gond az, hogy ICD2 klón hibát ír ki, ha MCLR-t belsőleg a VDD lábra akarom kötni úgy, hogy az oszcillátor is belső (INTOSC). 12F-nél a több lábszám miatt ez nem gond, de ha adott a lehetőség, akkor miért ne használnám így? Microchip úgy oldotta meg ezt a gondot, hogy vegyek PM3 programozót.

A probléma ismert több oldalon is, megoldást RCD illetve JDM programozónál láttam ahol a Vpp first > Vdd second programozási móddal lehet ezt a hibát kiküszöbölni. WIN PIC-nél elvileg a 10F is támogatva van, illetve a Progamozónál is ki lehet kapcsolni a a Vdd bekapcsolást Vpp előtt. (OPTIONS menü).

Kérdésem, sikerült-e már valakinek gyakorlatilag is leküzdeni ezt a problémát, (vagyis belső MCLR és oszcillátor használata). Lehetőség szerint újraprogramozni is szeretném a PIC-et mielőtt beállítom a kódvédelmet, tehát nem OTP megoldásra gondolok elsősorban.

Elnézést ha hosszú lett a hozzászólás, s köszönöm a válaszokat előre is.
(#) potyo válasza - Mixa - hozzászólására (») Feb 15, 2012 /
 
Én simán égettem 12F675 és 12F683-at belső oszcillátorral és kikapcsolt MCLR-el, ICD2-vel. A lényeg, hogy nem szabad bepipálni az MPLAB kérdését, hogy ne kérdezze újra, mert akkor mindig úgy veszi, mintha a Nem-re kattintottál volna. Nekem eddig nem volt problémám.

Amit tehetsz, hogy a kontroller indulásakor, még mielőtt bármi mást csinálnál, tegyél be egy fél másodperces várakozást, hogy az égető tudja mozgatni a lábakat, még mielőtt a kontrollerben elindulna a program és kimenetté állítaná a PGD és PGC lábakat.
(#) - Mixa - válasza potyo hozzászólására (») Feb 15, 2012 /
 
Köszi a választ! Kipróbáltam, s működik 12F615-ön. Érdekes, nem kell új programozót használnom, jó a potyo féle ICD2 klón.

Egyedül azt nem értem, hogy a tápra kötött MCLR, ha bemenet, miért nem érzékeli 1-nek ha olvasom.

if (GP3) GP0=0b1; vagy if (GPIO>=8) GPIO=0b1;

1-es értéknél egy LED lépne működésbe.
Következő: »»   4 / 4
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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