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

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
behr
Inlägg: 173
Blev medlem: 8 juni 2005, 19:14:59
Ort: Hässleholm

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

Inlägg 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?
Senast redigerad av behr 6 september 2007, 09:41:25, redigerad totalt 1 gång.
pheer
EF Sponsor
Inlägg: 1283
Blev medlem: 16 januari 2005, 18:05:21

Inlägg av pheer »

Använder du intern oscillator och har MCLR avaktiverad?
Användarvisningsbild
behr
Inlägg: 173
Blev medlem: 8 juni 2005, 19:14:59
Ort: Hässleholm

Inlägg av behr »

jag använder den interna oscillatorn.
mclr är "på" och den verkar reagera när programmeraren resetar den (utgångar slutar driva)
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg 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)
Användarvisningsbild
behr
Inlägg: 173
Blev medlem: 8 juni 2005, 19:14:59
Ort: Hässleholm

Inlägg 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...
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg 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å...
Användarvisningsbild
behr
Inlägg: 173
Blev medlem: 8 juni 2005, 19:14:59
Ort: Hässleholm

Inlägg 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.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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 ! :-)
Användarvisningsbild
behr
Inlägg: 173
Blev medlem: 8 juni 2005, 19:14:59
Ort: Hässleholm

Inlägg 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 :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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...
Skriv svar