Sida 1 av 1

PIC svarar inte på programmering andra gången (löst?)

Postat: 2 september 2007, 09:28:08
av behr
jag har en PIC16LF818 som jag programmerar med PicPgm och en "låg-spännings programmerare". programmet och programmerar har fungerat på två andra picar (16f876a och 16lf876a).
första programmeringen av 818 picen gick bra, den veriferade och allt var ok och det verkar som programmet exekveras i picen...
problemet är att nu vägrar den svara på programmering! den reagerar på pgm och mclr signalerana verkar ignorera allt på pgc och pgd. pgc och pgd pinnarna är i programmet jag laddade första gången konfigurerade som timer1 oscillator, men jag tycker ju den borde stänga av oscillatorn när den går in i programmerningsläge?
(ingen kristall är kopplad till timer1 när jag programmerar den, bara programmeraren)

i databladet står följande:
"The Timer1 oscillator shares the T1OSI
and T1OSO pins with the PGD and PGC
pins used for programming and
debugging.
When using the Timer1 oscillator, In-Circuit
Serial Programming™ (ICSP™) may not
function correctly (high voltage or low
voltage) or the In-Circuit Debugger (ICD)
may not communicate with the controller.
As a result of using either ICSP or ICD, the
Timer1 crystal may be damaged.
If ICSP or ICD operations are required, the
crystal should be disconnected from......"
???

Någon som har någon ide vad jag kan prova?

Postat: 2 september 2007, 10:23:05
av pheer
Använder du intern oscillator och har MCLR avaktiverad?

Postat: 2 september 2007, 10:34:57
av behr
jag använder den interna oscillatorn.
mclr är "på" och den verkar reagera när programmeraren resetar den (utgångar slutar driva)

Postat: 2 september 2007, 13:22:30
av bengt-re
LVP aktiverat när du programmerade den? Om inte så är det bara en normal programmering som kan återställa den till LVP (vilket jag inte brukar använda för att det inte är helt stabilt)

Postat: 2 september 2007, 13:31:54
av behr
lvp var aktiverad och när jag lägger hög signal på RB3 slutar utgångarna driva med...

ska bygga en normal programmerare och se om den reagerar på det...

Postat: 2 september 2007, 20:48:59
av bengt-re
Låter klokt - LVP är tyvärr ofta lite... opålitligt enligt min erfarenhet, men klart att det GÅR få det att fungera också...

Postat: 6 september 2007, 09:38:08
av behr
Jag beställde en wisp628 istället för att löda ihop något halvdant. Den fick inte heller någon kontakt med PICen. Provade med int-mclr adaptern. Inget liv... Bytade picen på kortet (ytmonterad = jobbigt). NU fungerade det utmärkt. Satte på timer1 oscillator: PANG så går det inte att prata med den längre. Efter lite provande går det att få den i programmeringläge om man först kopplar på programmeringsspänningen och sen matningsspänningen manuellt. Int-mclr adaptern ska ju göra det, men det fungerar inte av någon anledning.
Internal MCLR är INTE påslaget i koden, inte heller om jag läser in config bitarna från picen. Om jag hoppar över att initera timer1 med en goto i koden går det att programera på normalt sätt. ???
Lite bökigt, men det fungerar nu iaf.

Postat: 6 september 2007, 09:51:54
av sodjan
Jag har sett från andra håll att det är något skumt med just Timer1-osc
och programmeringspinnarna (PGD/PGC). Jag kan inte påstå att jag har
100% koll på vad det är som händer dock.

> Int-mclr adaptern ska ju göra det, men det fungerar inte av någon anledning.

Det beror lite på hur ditt kort ser ut för övrigt. Notera att dongeln
måste kunna kortsluta 5V under en kort stund. Så det får inte sitta
allt för mycket kapacitans på kortet, och din 5V matning får inte kunna
ge allt för mycket ström (dogneln är i princip designad för 7805 matning).

Om du har pinnar "över" så kanske det går att lösa genom att ha en
pinne som kopplar bort initieringen av TMR1-osc. Ofta går det att lösa
utan extra pinnar genom att t.ex hålla en knapp intryckt under power-on
eller något i den stilen...

Slutligen, om du tycker att Wisp628 m.m var helt bortkastat, så får
du gärna höra av dig, missnöjda kunder gör inte heller mig glad... :-)
*OM* du köpte den av mig, vill säga ! :-)

Postat: 6 september 2007, 10:15:16
av behr
adapterns kortslutningsfunktion fungerar, jag har x78x05 och ca 11,5µF keramiska kondensatorer efter den, spänningen på kortet sjunker till 0.8 volt som den ska (mätt med min funktion på multimetern)

det med att disabla timer1 på en pinne var ju smart. jag har ju rb3/pgm över när jag skippade lvsp och den är ju i programmeringskontakten med.

jag är absolut inte missnöjd med wispen. klart värd pengarna :)

Postat: 6 september 2007, 10:20:29
av sodjan
OK, va bra... :-)
Du skulle alltså kunna sätta en bygel i kontakten som du
kollar i början av koden. Lite struligt dock att programmeringspinnarna
krockar på något sätt med tmr1-osc...