PIC12F683, går inte använda GP4/GP5 som input med timer1?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
bos
Inlägg: 2273
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

PIC12F683, går inte använda GP4/GP5 som input med timer1?

Inlägg av bos »

Databladet säger såhär:

[q]TRISIO<5:4> bits are set when the Timer1 oscillator is enabled. GP5 and GP4 bits read as ‘0’ and TRISIO5 and TRISIO4 bits read as ‘1’.[/q]

Det är dock lite tvetydigt för mig. Jag tolkar det som att om jag använder en extern oscillator så kan jag inte använda GP4/5. Det är fullt logiskt. Men det kan också tolkas som att om jag använder den interna Timer1-oscillatorn kan jag heller inte använda GP4/5.

Bakgrunden är att jag har problem med just GP4 som input i en krets. Allt annat funkar som det ska, men GP4 med weak pull-up ger 0.84v med en voltmeter.

Vilket är det som gäller här?
H.O
Inlägg: 5685
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: PIC12F683, går inte använda GP4/GP5 som input med timer1

Inlägg av H.O »

Men du kan inte använde den interna TMR1 oscillatorn UTAN att ansluta en kristall till OSC1/OSC2 - som ju ÄR GP4/GP5.
Om du väljer att klocka TMR1 från den interna oscillatorn för själva processorn så är ju GP4/GP5 lediga.
bos
Inlägg: 2273
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: PIC12F683, går inte använda GP4/GP5 som input med timer1

Inlägg av bos »

Jag blandar jämt ihop oscillator och kristall. Avsikten är iallafall att köra utan kristall för Timer1 och plocka från Fosc/4.

Relevant kod inklippt:

Kod: Markera allt

    __CONFIG   _PWRTE_OFF & _CP_OFF & _CPD_OFF & _BOD_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _BOREN_OFF

        banksel OSCCON
        movlw   b'00010100'                         ; Intosc, 1MHz
        movwf   OSCCON

        banksel T1CON
        movlw   b'00001000'                         ; Timer1 LP, 1:1 prescale
        movwf   T1CON
H.O
Inlägg: 5685
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: PIC12F683, går inte använda GP4/GP5 som input med timer1

Inlägg av H.O »

> Avsikten är iallafall att köra utan kristall för Timer1 och plocka från Fosc/4.

Då ska du inte sätta T1CON<3> eftersom det aktiverar TMR1-oscillatorn och därmed, i enlighet med tidigare citat från databladet, gör att GP4 och GP5 inte kan användas som I/O.
bos
Inlägg: 2273
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: PIC12F683, går inte använda GP4/GP5 som input med timer1

Inlägg av bos »

Det var ju lite trist att två pinnar försvinner även om man använder intern oscillator.
Niklas-k
Inlägg: 350
Blev medlem: 10 mars 2004, 15:59:21
Ort: Katrineholm

Re: PIC12F683, går inte använda GP4/GP5 som input med timer1

Inlägg av Niklas-k »

Jo du kan använda den interna Fosc/4! Läs 6.2 Clock Source Selection

Edit: Kanske lite förvirrande men man kan och kanske inte så vanligt på en 12F683 klocka Timer 1 med extern kristall kopplat till GP4 och GP5 medans processorn körs med interna oscillatorn. Så sätter du TMR1CS = 0 så fungerar nog som du tänkt dig.
Skriv svar