Martin, 15.1.2006 18:47:46
nerozumim ani slovo... ale problém může bejt kdekoli jak v hardware, tak i v software nebo v programování. podle toho, cos napsal, ti asi jen tak někdo neporadí... každopádně ten teploměr ukazuje jenom teplotu??? možná blbá otázka, ale když už je tam takovej LCD, tak bych od toho očekával alespoň nějaký grafy změn teploty v čase a pod. Ukazatel, kde občas hladina rtuti leze na horu při teplotě klesající dolu mi připadá taky docela úchylnej
No prostě je to tak,že mam doma to LCDčko s Nokie no a nevim co sním.Tak jsem chtěl alespoň tenhle úchylnej teploměr.Nebo má někdo lepší nápad co s tím LCD?????
patrik, 15.1.2006 19:37:26
tak tohle sem stavěl taky, a měl sem stejnej problém. Zkus změnit kontrast v programu na větší. já sem dal největší a najednou to fachčilo. snad ti to pomůže...
patrik, 15.1.2006 19:39:31
konkrétně - Podešavanje kontrasta - na adrese 00D0, je tam 30A9, změň to na 30FF
Nedávno jsem se setkal s nefunkčním programem 12F675, protože v tomhle PIC při programování smazali na adrese 3FF kalibrační slovo. Je to docela častá chyba. Pak program, který chce kalibrovat interní oscilátor prostě rovnou ustřelí. Totéž platí pro 12f629.
Co bych měl tedy nastavit při programování_??Patriku a co jsi nastavoval ty??
patrik, 15.1.2006 20:43:13
mno tak já sem měl MCLR, BOREN,WDT zapnutý, osc - INTRC-CLKOUT, všechno ostatní OFF. takhle sem úspěšně naprogramoval
No, já teda nevím čím programujete a o čem se to vůbec bavíte.
V tom hexa souboru je konfigurace definovaná, tak o ní nemá smysl diskutovat. Určitě to ale není taková konfigurace, jak píše Patrik. Tudíž není při programování třeba nic nastavovat, je pouze třeba zaručit, že na konci paměti zůstane zachovaná kalibrační informace. Nic víc, nic míň. A to udělá buď slušný programovací software, nebo to holt musím udělat ručně.
Nechápu co musim udělat ručně?
Nastavení pojistek najdeš při kliknutí na odkaz " upute za programiranje...."
Když se dívám na schema, tak podle mě by mělo být nastavení pojistek následovní:
CP-vypnuto
CPD-vypnuto
Boren-vypnuto
MCLR-I/0
PWRTEN-vypnuto
WDT-zapnuto nebo vypnuto, vyzkoušej, podle HEX nejde poznat
OSC-INTRC-I/0
Asi jsem fakt blbej. Vy tady ze schématu odhadujete, jaké že je snad konfigurační slovo procesoru. Ovšem nechápu, proč si ho nepřečtete v programu, který je k dispozici.
BOREN ON
MCLRE OFF (I/O)
PWRTEN Enabled
WDT ON
OSC INTRC I/O
Tak už jsem hotovej.Nemůžu toho švába pořád naprogramovat.Vždy to končí hláškou Verify failed at address 0000h !
Nevíte jak mam postupovat???Nikdy se mi to ještě nestalo.Ale jak už jsem psal,tak tyhle osminohý PICe jsem nikdy neprogramoval.Vždy byl oscilátor buď RC neboHC.Pořád to píše nějaký problém.V tom článku se o tý chybě něco píše ale nerozumim ani slovo.Přitom používám též IC PROG 1.05A
Tak jsem jen pro zajímavost vyzkoušel naprogramovat PIC 12F675 (12F629 doma nemám) a šlo to bez problémů. Mám programátor PICQUICK od ASIXU a soft ASIX UP. Vyzkoušej tu 675, třeba budeš mít po problému.
To je nadhera, krasnyyyy teplomerik. Asi nezaspim
Štolfa: už ti funguje??
Ne, že bych originalu moc rozuměl, ale v každém případě hovoří o programování kalibračního slova na adrese 3ff a chybu Verify failed at address 0000h ! spojují se zapnutou pojistkou CP. Je to vcelku jasné.
I když zatrhnu CP tak to pořád hlásí tu chybu.
Zkusils tu 675ku?
Programátor musí PIC naprogramovat s jakýmkoli nastavení pojistek. Programátoru je jedno, co tam nastavíš.
Bohužel 675tku nemam.Nainstaloval jsem další program WinPic.Jede v češtině a taky nenaprogramoval.Myslím že bude chyba v tom kalibračním slovu.Programátor vypsal tohle:Loaded translation file "C:Program FilesWinPic ranslationsczech.txt" .
Špatné zpětné čtení z DATA linky (HIGH) !
POZOR: Nemohu inicializovat programátor !
Testování: zpoždění (500ms) je 0.50 sekundy, timer_freq=3.5795 MHz ... ok
Inicializace PIC-Programátoru: Hotovo.
Inicializace PIC-Programátoru: Hotovo.
Nemůžu najít "devicesPIC12F629.dev ", prosím půjčit/kopii z MPLAB !
Nemůžu najít "devicesPIC12F629.dev ", prosím půjčit/kopii z MPLAB !
Programování...
Smazání ("bulk" nebo "chip") ...
Kalibrační slovo oscilátoru vypadá špatně (0x003FFF) !
Programování PROGRAM, 0x000000..0x0003FE
Upozornění: používat standardní OSC CALIB slovo místo 0x003FFF .
Ověření 0x06lX..0x000000
Ověřit chybu: 000000: čtení 003FFF, hledá 0028C8
Ověřit chybu: 000001: čtení 003FFF, hledá 003008
Ověřit chybu: 000002: čtení 003FFF, hledá 001935
Ověřit chybu: 000003: čtení 003FFF, hledá 003001
Další Ověření Chyb, neschopný vypsat všechny (total=1005)
Programování DATA, 0x002100..0x00217F
Ověření 0x06lX..0x002100
Ověřit chybu: 002100: čtení 003FFF, hledá 00003E
Ověřit chybu: 002101: čtení 003FFF, hledá 000051
Ověřit chybu: 002102: čtení 003FFF, hledá 000049
Ověřit chybu: 002103: čtení 003FFF, hledá 000045
Další Ověření Chyb, neschopný vypsat všechny (total=127)
Programování CONFIG, 0x002000..0x002007
Ověření 0x06lX..0x002000
Ověřit chybu: 002007: čtení 003FFF, hledá 003FCC
Ověřeno CONFIG, 0x002000..0x002007
Ověření 0x06lX..0x002000
Ověřit chybu: 002007: čtení 003FFF, hledá 003FCC
Programování CONFIG-WORD
Ověření 0x06lX..0x002007
Ověřit chybu: 002007: čtení 003FFF, hledá 003FCC
CHYBA: Programování špatné !
Když jsem začínal s PIC, tak jsem se chtěl vyhnout podobným problémům a koupil si ověřený programátor, soft je zdarma a je neustále aktualizován.
Zvláště v začátcích je těžké určit, kde je chyba, zda v programátoru, v softu nebo je vadný PIC. Už se mi stalo, že nový byl nějaký pošahaný, naprogramovat šel, ale program nefungoval.
Ten nový soft ti nepodporuje 12F629.
Souhlasím s jezevcem. Ověřený programátor pro konkrétní PIC je podstatný. Je možné, že kalibrační slovo je nenávratně smazáno, ale to není problém. trochu horší je to s konfiguračním slovem. Fakt je, že ve skutečnosti třeba tenhle programátor není možná schopen daný PIC programovat, nebo číst, nebo obojí. Těžko říct. U těch malých PIC jsem narazil i na jednu záludnost.Pokud jsou piny GP0 nebo GP1 využity jako výstupy, tak za určitých podmínek může být problém s programováním, protože to probíhá sériovou komunikací právě po těchto pinech. V závislosti na vlastnostech zdrojového kódu to prostě může havarovat. Princip je pravděpodobně v tom, že během resetu při programování se program stačí rozběhnout a komunikace s programátorem je přerušena. Já jsem třeba s ICD2 nebyl schopen naloadovat program, který to nejlacinější Picollo od ASIXu naprogramovalo raz-dva.
Martin, 18.1.2006 22:21:35
Přesně tak, taky souhlasim s jezevcem. Teď mám presto od asixu a je to uplně o něčem jinym než před pár lety s několika odpůrkama vytaženejma z paralelního portu.
Ještě se zeptám ,když je kalibrační slovo pryč, dá se stím něco dělat??Nebo rovnou vyhodít?
Díky podívám se na to.Tady je ukázka při naprogramování PICu 16F74 - měřič kapacit podle Martina.Takže chyba je v tom kalibračním slovu a stím opravdu nemam zkušenosti tak se musim zase přiučit.
Takle končilo moje programování než jsem narazil na ty osminohý šváby:
Loaded translation file "C:Program FilesWinPic ranslationsczech.txt" .
Informace: Nahráno nastavení pro "PIC16F74" z devices.ini .
Info: PIC16F74 never tested, TWO LOCATIONS at a time
Info: seems to use similar algorithm as PIC16F737
Info: but Microchip decided to write yet another prog spec :(
Parsed "C:Program FilesMicrochipMPLAB IDEDevicePIC16F74.dev" : found 12 bit combinations in 5 configuration bit groups .
Inicializace PIC-Programátoru: Hotovo.
Testování: zpoždění (500ms) je 0.50 sekundy, timer_freq=3.5795 MHz ... ok
Programování...
Programování PROGRAM, 0x000000..0x0006DA
Ověření 0x06lX..0x000000
Programování skončeno, žádná chyba.
Co ti máme ještě poradit, pořiď si spolehlivý programátor a máš po problému.