PICkit 2 och PIC18

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
southqvist
Inlägg: 2
Blev medlem: 16 augusti 2009, 16:07:16

PICkit 2 och PIC18

Inlägg av southqvist »

Hej!

Jag har problem med att få igång min pic18f4550, jag försöker få en diod att blink men den lyser bara konstant hela tiden. Någon som har lite tips på hur jag kan felsöka... Har inte hittat något...

Kod: Markera allt

void main()
{
  TRISB = 0;                       // Configure PORTB as output

  for(;;)                                            // Endless loop
  {
    PORTB.F5 = 0;                       // RB0 = 0
    Delay_Ms(100);                  // Wait 1 second
    PORTB.F5 = 1;                       // RB0 = 1
    Delay_Ms(100);                  // Wait 1 second
  }                                                   // End of loop
}
Jag använder inte någon extern kristall, utan har bara kopplat en diod mellan RB5 och Vdd.

Några idéer?
bos
Inlägg: 2314
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: PICkit 2 och PIC18

Inlägg av bos »

Hur har du kopplat hårdvaran? (Visa schema)

Jag ser inga config-bitar i din kod. Hur har du satt dem?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PICkit 2 och PIC18

Inlägg av sodjan »

Det där var ju en väldigt "mager" kod. Är du säker på att du inte
har missat något ? T.ex analoga funktioner på portarna ? Men det står
ju tydligt om det i databladet i kapitlet om portarna så det borde du
ju inte ha missat... 8) :-)

> Har inte hittat något...

Var har du letat ?

> utan har bara kopplat en diod mellan RB5 och Vdd.

Det behövs även t.ex spänningsmatning till processorn
och rätt inkoppling av MCLR o.s.v. Prova att lägga till det.
southqvist
Inlägg: 2
Blev medlem: 16 augusti 2009, 16:07:16

Re: PICkit 2 och PIC18

Inlägg av southqvist »

Jag har kopplat in PICKit:en enligt anvisningar, MCLR, Vdd, Vss, PDG, PDC. Det är det enda som är inkopplat...

Jag såg att det fanns två Vdd och Vss, så jag drog en kabel mellan de två pinnarna och då började dioden blink. men inte alls i den hastig som jag programmerat. Snarare tio gånger länge långsammare...

Jag har inte ställt om configen nånting... bara default värden i mikroc.
bos
Inlägg: 2314
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: PICkit 2 och PIC18

Inlägg av bos »

> Jag har kopplat in PICKit:en enligt anvisningar, MCLR, Vdd, Vss, PDG, PDC. Det är det enda som är inkopplat...

Nyss hade du även kopplat in en diod mellan RB5 och Vdd. Hur ska du ha det? (Se tips 2)

> Jag har inte ställt om configen nånting... bara default värden i mikroc.

Och anledningen att du inte berättar något om dem är....? (Se tips 1 och 3)


Tips 1: Alla använder inte MikroC och vet inte vilka default-värdena är.
Tips 2: Schema underlättar alltid allting.
Tips 3: De flesta orkar inte leka gissningsleken för att få reda på all kringliggande information.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PICkit 2 och PIC18

Inlägg av sodjan »

> Jag såg att det fanns två Vdd och Vss, så jag drog en kabel mellan de två pinnarna

Ja, jag har för mig att det är ganska tydligt i databladet att *ALLA*
Vdd och Vss pinnar *ska* anslutas. Aja, de *ska* kopplas in i alla fall. :-)

> ...bara default värden i mikroc.

bos har svarat på det. Sen är det ganska ovanligt att alla defaultvärden råkar passa
för det man gör. Har du gått igenom alla CONFIG bitar och verifierat att
allt verkligen är precis så som du vill ha det ?

Generellt när det gäller CONFIG, lita *aldrig* på default värden. Gå alltid igenom
alla CONFIG bitar och säkerställ att du ställer dom så sm du vill ha det, helt oavsett
vad som råkar vara default. Du lär dig mycket om processorn på samma gång... :-)

> ...men inte alls i den hastig som jag programmerat.

Och vilken hastighet är det som du har "programmerat" ?
D.v.s i vilken hastighet kör du processorn ? Och har du talat om
för MikroC vilken hastighet du kör i ? Notera att varken MikroC eller
processorn i sig har en susning om vad "millisekunder" är för något ! MikroC
bara konstruerar en kod som den tror tar t.ex 100 ms att köra, med den
hastighet som den tror att du faktiskt kör processorn i. Om du sedan kör
i en annan hastighet så struntar MikroC helt i det... :-)

RTFM, speciellt kapitlet om oscillatorn, och väldigt speciellt vilken hastighet
som är default på INTOSC om du inte ställer in den. Det är antagligen inte
den hastighet som du tror. Sen är det en annan sak att du har valt just en
USB-PIC. Den har en ganska komplex INTOSC för att hantera de speciella
klockorna till USB-interfacet. Men det är ju ett val som du har gjort... :-)
Användarvisningsbild
Glenn
Inlägg: 36772
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: PICkit 2 och PIC18

Inlägg av Glenn »

sodjan skrev:> Jag såg att det fanns två Vdd och Vss, så jag drog en kabel mellan de två pinnarna

Ja, jag har för mig att det är ganska tydligt i databladet att *ALLA*
Vdd och Vss pinnar *ska* anslutas. Aja, de *ska* kopplas in i alla fall. :-)
Hmm, det har jag aldrig tänkt på, iofs brukar man ju försöka göra det rent allmänt, men jag kan nog ha slarvat nån gång,
bra att tänka på det iaf.
..bara konstruerar en kod som den tror tar t.ex 100 ms att köra, med den
hastighet som den tror att du faktiskt kör processorn i. Om du sedan kör
i en annan hastighet så struntar MikroC helt i det... :-)
Antar att det var det du syftar på, men nog måste väl MicroC ha en define för detta ? ..men om man inte sätter den
och sen kör på annan hastighet blir det ju fel<tm> ja..
Sen är det en annan sak att du har valt just en
USB-PIC. Den har en ganska komplex INTOSC för att hantera de speciella
klockorna till USB-interfacet. Men det är ju ett val som du har gjort... :-)
Minns inte vad microchip säger, men jag har labbat en del med USB på 16F4620, och då har det stått i readmes till
exempelkod och på andra byggen man stulit prylar (kod/konstruktion) från att man INTE bör använda intosc om man ska
köra USB, utan helst en 24Mhz extern kristall (vilket jag också använder, har inte ens testat med intosc då jag inte ifrågasatt.)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: PICkit 2 och PIC18

Inlägg av sodjan »

OK, den har en ganska komplex oascillator överhuvudtaget, oavsett om man kör
internt eller med kristall. Så vitt jag förstår så ville man ha en rellativt stor flexibilitet
i valet av USB resp processor frekvens, utan att det ena skulle styra det andra
allt för mycket.

Aja, hur som helst. Grundproblemet är att southqvist behöver läsa på lite mer... :-)
Både i uppsättning av processorn och i hur man talar om för kompilatorn
vilken hastighet man tänker köra på. Sedan blir nog fördröjningarna som
det är tänkt.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Re: PICkit 2 och PIC18

Inlägg av vfr »

Glenn skrev:16F4620
Hmm? Antar att du menar 18F4620?
Användarvisningsbild
Glenn
Inlägg: 36772
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: PICkit 2 och PIC18

Inlägg av Glenn »

Hrrm, japp :)

Den enda 18F-kretsen jag använder f.ö, av olika skäl.
XorXaX
Inlägg: 409
Blev medlem: 27 maj 2004, 09:44:16

Re: PICkit 2 och PIC18

Inlägg av XorXaX »

Vid skrivning till portar i PIC18 så använder man LATx-registren och vid läsning används PORTx-registren.

Så testa ändra från PORTB.F5 till LATB.F5 så ska det nog gå bättre.

(Är för övrigt typ det första som står om I/O-portar i databladet för 4550)

EDIT:
Var lite snabb här och såg inte att du fått den att blinka.

Då kan det vara att du inte har rätt config inställningar.
Det finns även en inställning i mikroC's IDE där du ska ange vilken hastighet som
PICen körs i, det för att den ska kunna räkna ut hur mycket kod som ska skapas med olika värden hit och dit för
att faktiskt skapa den delay som du angett i t.ex. Delay_ms(). Kör du på INTOSC i full hastighet så är det 8MHz
som ska ställas in där.

Och som sagts och som jag har upplevt själv så är inställningarna för oscillatorn i 4550 väldigt komplext, det gäller
att hålla tungan rätt i munnen och lusläsa databladet om oscillatorn.
Skriv svar