Fórum témák
» Több friss téma |
code protect nél és ha flashes a PIC mi van akkor ha :
CP 1 re állítjuk a configban majd a CODE szerinti összes bit 1 en áll és a felíráskor valami külső behatást a flash törlése időtartama alatt kellő feszültség hiánya vagy órajel túlgyorsítást vagy MCLR fesz változás elérve tudná végrejhajtani a törlést majd lehet a full bit1 nél írást ki is hagyna vagy ha nem eleve a nem FF en álló bytokat FF re kényszerítve írni eleve semmi nem változna és a végén a Configot felírja. Mi történne ekkor a következő hiteles olvasásnál?
hopp javítva egy nem kimaradt
fesz változás elérve "nem" tudná végrejhajtani a törlést
Én nem értem az egész szöveget, miről van szó.
Igazából mit szeretnél? Kód védett pic-et kiolvasni?
Ugye a programozó CODE íráskor előszőr erase n megy keresztűl utána a CODE elején addíg ír fel csak ameddig van 0 bites byte. Ahonnan már nincs ott továbblép következő feladatra.
De a CODE általunk lehet tetszőleges akár Full bit1. Írás előtt a Configot is szerkeszthetjük akár CP CPD nyitottra. Valahogy ha csak annyit érnénk el hogy az ERASE flash fizikailag ne valósúljon meg akkor vajon kidobja e hogy ezt nem végezte el vagy engedi a folyamataink folytatását. Ha az erase nem valósulna és a config felírását sikerrel végezhetjük megírni, akkor így nyitottá lehetne tenni a Flash-es chipet ?
Nem. Több okosság van erre a chipben. Ha jól emlékszem a 84-es picnél lehetett mókolni valami túlfesszel, de azóta megoldották.
PICKIT2 Programmer menüjében a Clear memory buffers on Erase
ugyebár, ha be van pipálva és csak eepromot akarunk írni sikkerrel kitörli a programunk is. Viszont, ha a felső program memory azaz a CODE írására készülünk fel eeprom nélkül, mi a különbség, ha az "Clear memory buffers on Erase" be vagy ki van pipálva ?
A PICkit2 program ablakján a program és az adat eeprom panel felett is van egy checkbox. Ha pipa van benne, a hozzá tartozó területet programozza (törli és újraírja) a program. Ha valamelyikben nincs pipa, az változatlanul marad. A program memóriával egyszerre megy a konfiguráció és a felhasználói azonosító.
Legalább 2 vagy 3 PIC en vesztettem el a futatott állományt úgy, hogy csak alul volt bepipálva
az eepromnál és az eeprom írása után már nem csináltak ezek a chipek semmit. Clear memory buffers on Erase ez nekem mindíg be volt jelölve. Aztán kivettem és nincs ilyen problémám.
Vagy lehet a PK3 eredeti 1.0.0 ás softjával szálltak el a chipjeim ahol a
"Erase Before programming" maradt volna bejelölve?.. passz de az tuti hogy csak az eeprom volt írás előtt bejelölve
Na mondom én. Nem a 3.10 hanem a valós PK3 PC soft
"Erase Before programming" bejelölésével csak eeprom bepipáltan is végrehajta programunk törlését.
Szia!
Eddig ezt írtad Idézet: , most PK3-as ablakot csatolsz !„PICKIT2 Programmer menüjében” A Idézet: „"Erase Before programming" bejelölésével csak eeprom bepipáltan is végrehajta programunk törlését.” Persze, mert ez azt jelenti, hogy teljes törlés programozás előtt !
Megjegyzések:
- A PICkit3 scripting application lényegében egy PICkit2 -t csinál a PICkit3 -ból (firmware cserével). A fejlesztés kezdetén készült, összesen két verziót élt meg, tele van hibákkal (az összes olyan hibát tartalmazza, amit a PICkit2 akkori verziója tartalmazott). Aztán felhagytak vele. Az MPLabX IPE programját javasolják helyette. - A PICkit2 V2.6x.xx -nek nincs "Erase Before Programming" menüpontja - "Clear memory buffers on Erase" csak a programozó belső buffereit törli.
Az odáig okay hogy szó szerint a menü e célt szolgál. De mi szükség volt erre a menüre ?
Ha program memory-t át akarjuk írni úgyis Flashtörléssel kezd. Ha meg az eeprom írása csak a cél, akkor meg illene egy figyelmeztetés a menü jelen beállításával a program memory tartalma elveszik, ezt elkerülendő módosítson a menün. stb stb. Lehet rosszul emlékeztem és a PK3 csinálta a gebaszt. Visszaállítottam a 3.10 ről a 1.0.0 A pk3 at és sose kapcsolom be az ERASE b.p. menüt.
Sziasztok,
Egy nagyon egyszerű játékot kellene készítenem, amihez egy 16F1825-öt kellene (f)elhasználnom. A lényeg az, hogy az A és C portok 0,1,2 tüskéi kimenetek, ezeken egyelőre ledek vannak, a 4,5,6-ok bemenetek, amik ellenállással Vdd-re vannak húzva. Belső oszcillátorról jár szépen, viszont az A4, A5 portot nem tudom rábírni, hogy bemenet legyen. Vagy legalábbis mindig 0-t olvasok ki rájuk. Van valakinek ötlete, hogy mit ronthatok el? A teszt erejéig minden bemenethez rendeltem egy ledet. A bekapcsolás utáni teszt lefut, szóval a kimenetek rendben vannak. Viszont utána 4 led bekapcsolva marad, a pin lehúzására ki is alszik, majd visszajön. Kivéve azt a kettőt, ami az RA4, RA5 portról kap bemenetet, azok a teszt után mindig sötétek maradnak.
Szia!
Tilts le minden egyéb funkciót ami azokhoz a lábakhoz tartozik. Lásd lent.
Szia!
Köszi, megpróbáltam letiltani mindent és amit lehetett, áttenni másik lábra az adott funkciót, de továbbra is csak 0 értéket lát a pic az RA4, RA5 lábakon.
Sziasztok! Nincs Valakinek egy gyertya, mécses villogását utánozó LED es progija? Köszi.
0,1,2 bitek outputok
hogy érted hogy 4,5,6 3,4,5 bitek inputok A LED1-2 és LED4-5 nél a bitek szándékosan felcseréltek ? Azt kellene tudni hogy a RA4,5 biztos hogy TTL General purpose állásban van e LED4=1; LED5=1; LED6=1; Ha így lenne alapból világítana ez a 3 led ? A hozzászólás módosítva: Nov 13, 2019
PDF 132. oldalon ezeket kell megnézni
TABLE 12-2: SUMMARY OF REGISTERS ASSOCIATED WITH PORTA hátha valamelyiket még át kell kapcsolni
Sajnos amit lehet már átkapcsoltam, letiltottam, de így sem jó. Sőt megpróbáltam átkapcsolni kimentetnek az OSC1, OSC2 lábat és csinálni egy oda vissza villogót. Az az érdekes, hogy villogni nem kezdett el a led, viszont egyik lábon nem mértem semmit, a másikon viszont mintha az órajel jönne ki. Viszont ahol tudtam, IO portnak állítottam be ezt a két lábat. Ilyenkor mi lehet?
Konfigbitek is rendben?
Egyébként szerintem az összes port definiciód rossz #define LED1 LATC.F1 ilyen nem létezik, ez a LATC.C1 a jó...
A képen lévő beállításokkal fordítottam.
A port definíciók szerintem jók, mert a LATC.C1-re kiakad hibával, F1-re lefordul.
Szia!
Idézet: „A teszt erejéig minden bemenethez rendeltem egy ledet.” Ezeket nem hagytad rajta, nem azok nem engedik a gombokat érvényre jutni ?!
Ha az ICSP lábakat azonnal kimenetnek állítod, előállhat olyan helyzet, hogy kínlódni kell a kontroller átprogramozásakor. Jobb megszokni, hogy az ICSP lábakat kimenetként használó program elejére egy kis késleltetést teszel.
Szia!
De igen, mármint ennyi az egész teszt:
Végigfut egy csík az első öt leden,majd mind a 6 fixen off, utána pedig minden bemeneti lábhoz rendelek egy kimenetit. Az összes bemenet fel van húzva 10k-val Vdd-re, szóval mind a 6 lednek világítania kéne, de ami az A4, A5-ös lábon van, annak a ledjei csak az első futófénynél villannak fel, utána sötétek maradnak. Ha az A4,A5 lábat manuálisan Vss-re vagy Vdd-re kötöm, akkor sem történik sajnos semmi. De megfordítottam ezt a tesztet, hogy átkapcsoltam a TRISA-regiszterben a 4,5ös portot kimenetnek, majd 2 bekötött ledet és az A4,A5 porton 1-1 ledet felváltva villogtasson. A ledek oda-vissza villognak, de az A5-ön nem mérek semmit, A4-en pedig Vdd töredékét.
Ha a fordító elég béna, akkor simán elfogadhatja 1-es bitnek. Azt nem tudjuk, volt-e hibaüzenet, vagy figyelmeztetés.
A hozzászólás módosítva: Nov 17, 2019
Köszi, beleírtam 500ms késleltetést az elejére
Nem volt még csak warning sem.
|
Bejelentkezés
Hirdetés |