Fórum témák
» Több friss téma |
A PR2 és a PIE1 a bank 1 -ben van!
Másik gépen pont 4.5V-ot mért. Szerintem csak a klón egyszerűsége miatt van, de azért érdekelne...
Előbb csatlakoztasd a PICKit2 a géphez, indítsd el a programját, válaszd ki a PIC családot. Ezek után csatlakoztasd a programozandó pic -et, válaszd ki ismét a csakádot - ekkor ismeri fel. A programozása végén vedd le a beprogramozott kontrollert, csak aztán lépj ki a programból.
Az ok: A PICKit2 programja a legalacsonyabb feszültségeket igénylő családokkal kezdi a felismerést és sikertelen esetben átlép a következőre. Ha valami egyéb áramköri ok miatt a nem sikerül a kontrollert felismerni a családjánál, a nagyobb feszültséget igénylő családokra áttérve tönkre is teheti a kontrollert. Okozhat problémát, leginkább már felprogramozott példány törlésénél, újraprogramozásánál. Pl. a 16F628 törléséhez min 4.5V kell.
Szia!
A View menüből hívd le a Watch ablakot. A megjelenő ablakba írd a "Symbol name" mezőbe a PR2 és a PIE1 regiszterek nevét egymás alá. Lépésenként futtasd a programot... Máris látszik, bármit is kísérelsz beírni a PR2 -be, az értéke változatlan marad. Ezért viselkedik úgy, hogy bármit is írsz, a két timer2 megszakításkérés közötti idő nem változik.
Értem, köszi! Így fogok tenni! És ez a PIC attól még jó így? Mert kiírta, hogy programing successful
Ja és a Device Family-nél nincs olyan, hogy 12F... vagy 16F..., akkor mit válasszak ki?
Ha PIC nélkül van a gépen és úgy lépek be, akkor 4.6V-ot mér. Az már tökéletes
- Baseline, Midrange... Programozandó kontroller nélkül állítsd be a "Manual Device Select" -et, nézd meg melyik kontroller melyik listán van.
Megvan. Ha kiválasztottam és csatlakoztattam a PIC-et, akkor újra ki kell választani vagy úgy már jó?
Ha tudod melyik kontroller melyik listán van, állítsd vissza automatikus felismerésre, válaszd ki a családot, csatlakoztasd a kontroller és válaszd ki újra a családot...
Felismertettem, töröltem a PIC-et, lecsatlakoztattam, újraindítottam, felismertettem, importáltam a .HEX-et, égettem és a végén azt írta ki, hogy Programing failed at Program Memory address 0x000001. Elrontottam a PIC-et?
Lenne még valami?
Idézet: „- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni! - A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni. - Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre. - Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani. - Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat. - Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó. - A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető! - Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!) - Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.” Köszönöm a segítségeteket!
Ismét nálad a pont.
Nem esett le, hogy a bankváltás azért csúszott el, mert nem is volt. Pedig böngésztem a lapot, mégsem vettem észre. Bocsánat. Így tehát mindig az alap 255-el számolt. Most áttettem, és 249-re állítva 60,000007 lett. Ennél pontosabb már nem is lesz. Köszönöm.
Olvads ki a kontrollert... Szerintem a törlés nem sikerül, mert alacsony a Vdd. Milyen dióda van a klónban a Vdd_tgt vonal és a P-FET között?
Kicsit rosszul fogalmaztam... Nem csúszott el a bankváltás, hanem hiányzott. Örülök, hogy működik...
Vicsys csinálta nekem. Szilva klón. BAT85, ha jól látom. Bizots működik, mert tesztelte. 4,6V-ot mér PIC nélkül. PIC felismerés után pedig csak 4,3V. Az égetés sikeres volt, mind a kettőnél, amit égettem. Azután az egyiket megpróbáltam törölni és úgy programozni, ahogy te írtad. Mielőtt leírtad volna, hogy mit kell beállítani, már azelőtt is jó listára kattintottam hasra ütésszerűen. Amúgy az elektromos dobókockába kellenek. Szerintem működni fog, de kiderül. Végül is csak 300Ft darabja. Mit lehetne csinálni, hogy mindig meglegyen a 4.5-4.6V?
Próbáld MpLab alól programozni...
Addj külső tápról 5V -ot a kontroller Vdd lábára. A program észre fogja venni, hogy megvan a táp és nem kapcsoja rá a sajátját. A külső táp földje a kontroller Vss kivezetésére menjen, és a Vss legyen összekötve a PICKit2 GND jelével.
A kontroller még jó, de a program csak részlegesen törlődött.
Melyik MpLab kell? Akkor mégse jó a klón? A kiolvasás jó volt vagy teljesen egyeznie kell a két .hex-nek?
Még egy kérdésem van az általad írt változathoz.
Itt szükséges a TMR2IF bit vizsgálata? Mert elméletileg csak akkor fut ez a programrész, ha megszakítás történt, akkor pedig ez mindenképpen 1. És még egy. A movf megváltoztathatja a Z bitet, ez nem gond a STATUS mentésénél?
Még ha belefér, és nem számít reklámnak, egyLinket is be lehetne rakni. Majdnem minden benne van amire egy kezdőnek szüksége van, és magyarul.
Sziasztok.
Az egyszavas eeprom-mentés valahogy elmegy, de nemértem néha 0 lesz sajnos ami nagyon rossz. A fő gond: egy 10millióig számláló minden egyes számjegyét (a számjegy bináris kódját tartalmazó segédváltozót ). Amiből 8 darab lenne, hogyan kell lementeni ,és előhívni. Józan paraszti észzel próbáltam az EEADR -címet megváltoztatni. pl az első számjegynek .1 a címe a .2 nak .2 a címe. Vagy a szekvencián is változtatni kell aEECON2-ben? Miként menthetem sorozatban a 8 bites válzozóimat és hívhatom le? Nagy gáz lenne ha csak egyszer is elfelejtené a visszaszmlálási értéket mondjuk áramszünet esetén, mert ez egy hétvégi maradékokból összetákolt időzáras széf, ami egy év múlva nyílna ki Esetleg bármilyen "stressz egy rendesen megírt EEPROM mentés esetén okozhatja annak törlődését?. (Egy pic 16f628-ról van szó). A véksőkig kihasználva 8x7 szegmens, ezért záráskor és nyitáskor egy transzmisszióval rásegít egy 10f200-is.
Arra nem gondoltál, hogy mi történik ha a hw tönkremegy? (Pl.: túlfeszt kap.) Tervezz bele tápfesz nélküli, manuális nyitási lehetőséget is.
Az írás/olvasásnál, hagysz elég időt?
- TMR2IF: Ez a programrész fel van készítve több forrás által kért megszakítás kiszolgálására. A timer2 -höz tartozó résznek csak akkor kell lefutnia, ha a TMR2IF 1 értéke jelzi, hogy a timer2 megszakítást kér. Ha lenne több eszköz, ami kérhet, hasonlóan lehet a többi kérését is azonosítani.
- movf STATUS,w: A STATUS a művelet előtti értékét másolja a W -be, majd beállítja a Z bitet. swapf STATUS,w utasítást is lehet itt hasznélni, de akkor a visszatérésnél is swapf Ssave,w kell a movf Ssave,w helyett.
A fordított hex csak azokat a területeket tartalmazza, ahová a fordításkor utasítás, adat került. A kiolvasott hex az egész program és adat EEPROM memória képét tartalmazza.
Jó lesz az a klón, csak alacsony a Vdd... Ha egy új kontrollert veszel elő, a program memóriája törölt állapotban van, a Bulk Erase hibás végrehajtása nem látszik, a programozás sikeres, Jut is eszembe a zöld hátterű "Programming succesfull" a sikeres programozást jelenti... Ha már egyszer fel volt programozva a kontroller, akkor a Bulk Erase hibás lefutása nem (egészen) törölt állapotba viszi a kontroller, az újraprogramozás nem biztosan sikeres...
Sziasztok . .
Tudtok segíteni hogy zavarszűrésre mekkora fóliakondit tegyek a PIC lábához? Vagy esetleg hogy ezt mi alapján kell kiszámolni. . mert kaptam privátba tananyagot de ott inkább ez elektrolit puff kondikat tudtam kibogozni. Egy 16F627-es PIC ről lenne szó... Köszönöm
Az nem elég ha megvárom még EECON1,WR 0 nem lesz?
Mi lehet a baj? Teszek pár képet se zsanér se semmi még. (meg lesz egy keresztmerevítő hogy ne lehessen széttörni -lol-). Ez egy pénzgyűjtő, hogy véletlen se avatkoz hassam be a program végéig. Mert akkor egy ötlet hedonizmusában értelmét veszti az egész. -Gondolta hall szenszorra egy bizonyos pontján vész estére, de nemkéne.
Most olvasom a kiolvasásnál is kell késleltetés? Mellesleg a 8bites tárolóim a .1 .2 .3 .4 etc címeken helyezve megfelelően alkalmazom?
Ugye most csak viccelsz?
sztem keráma 100nf
|
Bejelentkezés
Hirdetés |