No, 12C675 neznám, ale bude to dost podobný jako u 12F675
Je to známej problém ICD2 a netýká se to jen procesoru 12F675, ale i dalších. Obvykle ale projde první programování. Procesor je správně naprogramován, ale v některých případech ho nejde verifikovat a reprogramovat. To záleží na struktuře programu.
Zkus dát do konfiguračního slova externí krystal, naprogramuj, zverifikuj a pak naprogramuj pouze konfigurační slovo s interním oscilátorem. V tomto případě už verifikace nemusí proběhnout správně.
Nebo dej na začátek programu jako naprosto první, programovou smyčku se zpožděním třeba 100ms, teprve pak dělej inicializace procesoru podle svých potřeb. To by mělo být nejperspektivnější řešení.
Nebo použij jiný programátor, můj starej Piccolo to dovede bezezbytku.
To s tím externím krystalem jsem zkoušel, ale MPLABu se nelíbí ten MCLR jako vstupní port.
Programátor, kterej doma mám, tak ten se semnou o tom bavit nechce vůbec!!
Zatím ho mám jako MCLR, ale u tak malého procesoru každej port dobrej, i když jen vstupní.
S dřívějšími verzemi MPLABu šlo i po varování 12F675 vždy alespoň jednou naprogramovat. S 8.2 jsem to ještě nezkoušel, ale řekl bych, že to bude to samé. Naprogramoval jsem jich tak kvantum. Ta časovací smyčka by to ale řešit měla. Možná bude stačit i 256 taktů, tedy 1. byte.
Hlavně dej taky pozor na kapcity mezi Vdd a GND. Teď nemám možnost to otestovat, ale zkusím to.
Tak už mi to programuje. Chyba byla samozřejme mezi mezi židlí a klávesnicí, v konektoru u ICD2, malilinkatej studeňák. MPLAB sice reptá, že to nepodporuje, ale naprogramuje ho. Není třeba ani čekacích smyček, procesor čeká 1024 taktů. Jedinej problém je teď ten, že po naprogramování musím odpojit procesor od ICD2 a pak zapnout, ale dá se to.
Normálně používám 16F877A a u něho si neobsazuji RB7 a RB6,protože “zatím” mi počet portů stačil a procesor nechávám trvale připojenéj k ICD2, ale u 12F675, kterej má málo portů, a když např obsadim GP0 jako DATA a GP1 jako CLK, tak je to ovlivněno ICD2 a nefunguje to, tak proto po naprogramování, tedy po jakékoliv změně v programu, musím ho připojit, naprogramovat, odpojit a zapnout. Konkrétně jde o tohle, pomocí tří vodičů řídit multiplex, ale stejně asi vyměním procesor, protože mi dochází v něm místo a mám hotovej teploměr a necelé hodiny. Kam dám datum a nastavení, to nevim