Záměna PIC12C509 za 12F509
Moderátor: Moderátoři
A po skončení programování vyskočí červená lišta s nápisem "Programming failed at Program Memory adress 0x000000".
Je otázka, jestli mám dobře posazený PIC v patici. Vybral jsem si verzi s ZIF paticí na jedné desce s programátorem. Nic k tomu nebylo a tak jsem použil posazení z verze, kde je ZIF mimo desku.
- forbidden
- Příspěvky: 9442
- Registrován: 14 úno 2005, 00:00
- Bydliště: Brno (JN89GF)
- Kontaktovat uživatele:
Každopádně jsem zkusil nacpat ten program do své 12F509 a jde to bez problémů i s verifikací.
OSCCAL by mělo fungovat tak, že prázdnej PIC z výroby má na posledním místě programové paměti zapsanou nějakou konstantu na doladění frekvence. Na reset vektoru 0x0000 je instrukce, která tu konstantu načte a ty ji pak můžeš nacpat do OSCCAL registru, ale nemusíš. Jestli jsi PIC smazal, konstanta je pryč navždy, ale ono je to stejně fuk, interní RC oscilátor se používá, když na přesnosti příliš nezáleží. Podle mě se s tím nemá moc cenu zabývat. Můžeš leda napsat jednoduchej program a měřit frekvenci a podle toho to pak zkusit doladit, ale já bych se na to vy... Maximálně bych do OSCCALu zapsal 000000b což je nějakej střed.
Ještě zkusím koupit jinde ty PICy a uvidím kde je pravda.
2hafca: Musíš použít standalone programmer app (druhý řádek v sekci Software, a nebo třetí, pokud nemáš nainstalovaný .NET framework). Forbidden na tom screenshotu nemá vybraný tool, určitě má novější tool než PK2, IPE byl až od PK3.
https://www.microchip.com/en-us/develop ... l/PG164120
Jak sis vlastně naprogramoval ten PIC18F2550 do PK2?
Jedná se o konstrukci RC spínače "Mikispínač" dle článku zde (Webarchiv).
Konstrukce je ve dvou variantách které jsou prakticky shodné, liší se jen tím, jestli je k indikaci použit pípák, nebo dvě LED.
Spínač s LED, spínač s "pípákem"
Není problém tuto konstrukci předělat pro nějaký novější PIC, např. 12F629 (či jakýkoliv jiný dostupný)
Dobrý tip, jak zachovat kalibrační konstantu PICu, který ji má, je vyškrábnout ji něčím ostrým zespoda na pouzdro.
Kdy si dám v menu Troubleshoot, tak tam všechno projde OK. Když si ovšem dám kalibraci VDD, tak skončím na chybě. Nebere to žádnou hodnotu a je jedno jestli jí zadávám s čárkou nebo s tečkou. A bez toho se asi dál nehnu.
Neví někdo čím to je nebo jak to zařídit aby nějaké číslo prošlo? Zkoušel jsem i vymyšlená čísla od 4V do 5V, ale nic.