Pic 18f4221 LED blinkar inte

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Pajn
Inlägg: 1160
Blev medlem: 6 juni 2008, 19:14:29
Ort: Nyköping
Kontakt:

Re: Pic 18f4221 LED blinkar inte

Inlägg av Pajn »

Aldrig labbat med nyare 16F heller.
Jag testade
OSCCON = 0b111;
också, men med ännu värre resultat, (gick att se blinkningar med pauser på 1ms)

Jag tog en ny koll på databladet, ska det vara "OSCCON = 0xFF;"? *testar*

EDIT: ser bättre ut, nu är frågan "Ska det vara 1 på alla bitar?
bit 7: Jag använder inte SLEEP så det spelar väl ingen större roll?
bit 6-4: 8MHz, perfekt!
bit 3: förstår ej vad som menas?
bit 2: samma här?
bit 1-0: Borde vara rätt satta?
bit 7 IDLEN: Idle Enable bit
1 = Device enters an Idle mode when a SLEEP instruction is executed
0 = Device enters Sleep mode when a SLEEP instruction is executed
bit 6-4 IRCF2:IRCF0: Internal Oscillator Frequency Select bits(5)
111 = 8 MHz (INTOSC drives clock directly)
110 = 4 MHz
101 = 2 MHz
100 = 1 MHz(3)
011 = 500 kHz
010 = 250 kHz
001 = 125 kHz
000 = 31 kHz (from either INTOSC/256 or INTRC directly)(2)
bit 3 OSTS: Oscillator Start-up Time-out Status bit(1)
1 = Oscillator Start-up Timer (OST) time-out has expired; primary oscillator is running
0 = Oscillator Start-up Timer (OST) time-out is running; primary oscillator is not ready
bit 2 IOFS: INTOSC Frequency Stable bit
1 = INTOSC frequency is stable
0 = INTOSC frequency is not stable
bit 1-0 SCS1:SCS0: System Clock Select bits(4)
1x = Internal oscillator block
01 = Secondary (Timer1) oscillator
00 = Primary oscillator
Note 1: Reset state depends on state of the IESO Configuration bit.
2: Source selected by the INTSRC bit (OSCTUNE<7>), see text.
3: Default output frequency of INTOSC on Reset.
4: Modifying the SCSI:SCSO bits will cause an immediate clock source switch.
5: Modifying the IRCF3:IRCF0 bits will cause an immediate clock frequency switch if
the internal oscillator is providing the device clocks.
EDIT2: Finns det något bra ställe att läsa sig till saker som att man måste sätta OSCCON? Ska man behöva läsa igenom hela databladet? (brukar bara läsa vad man måste göra vid initiering av pinnarna :oops: (om jag nu inte ska använda någon funktion förstås, då läser jag igenom den))
Användarvisningsbild
E85
Inlägg: 1274
Blev medlem: 29 maj 2007, 16:24:19
Ort: Övik

Re: Pic 18f4221 LED blinkar inte

Inlägg av E85 »

Du bör nog skumma igenom hela databladet och lära dig vad som ställs in i dom olika registren. Sååå mycket är det inte på en 8-bitars MCU.

Det står hur dom är satta default efter reset så utgå från det och ändra det som behövs...
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Pic 18f4221 LED blinkar inte

Inlägg av bearing »

bit 6-4 IRCF2:IRCF0: Internal Oscillator Frequency Select bits(5)
Det är alltså bit 6 ner till 4, inte bit 2 ner till 0, som bestämmer hastigheten.

Testa:

Kod: Markera allt

OSCCON |= 0b01110000;
Pajn
Inlägg: 1160
Blev medlem: 6 juni 2008, 19:14:29
Ort: Nyköping
Kontakt:

Re: Pic 18f4221 LED blinkar inte

Inlägg av Pajn »

Det vet jag nu, 2 säger om den är stabil eller inte och 1-0 bestämmer vilken oscillator man använder.
Jag använder nu
OSCCON = 0b01110000;
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Pic 18f4221 LED blinkar inte

Inlägg av bearing »

Fördelen med att OR:a in bitarna är att resten förblir standard.

Funkar det som det ska nu?
Pajn
Inlägg: 1160
Blev medlem: 6 juni 2008, 19:14:29
Ort: Nyköping
Kontakt:

Re: Pic 18f4221 LED blinkar inte

Inlägg av Pajn »

Funkar perfekt, så länge man håller sig till att blinka leds.
När jag tänkte kasta mig över timer0 modulen såg jag att den inte ser ut som hos tidigare picar (jag var såklart tvungen att testa, med det sket sig, såklart :roll: ) Men om man läser igenom databladet noga när man är mer vaken så löser det sig nog.
Skriv svar