Hi all,
Does anybody have any idea why internal pullups might be working on GPIO5 but not GPIO4 on a PIC12F675?
I have tried programming with PICKit1 and PICKit2 and on test boards with connections going nowhere GPIO5 works fine (5V) but GPIO4 has varying voltage below 1.3V. I have tried with 3 PIC chips. Have also tried in my circuit which has GPIO4 and GPIO5 going to ground via microswitches. I never get GPIO4 held high with internal pullup. Do I need to disable the Analog port somehow perhaps?
Regards,
David
Does anybody have any idea why internal pullups might be working on GPIO5 but not GPIO4 on a PIC12F675?
Code:
RESET clrf STATUS ;
clrf GPIO ; Init GPIO
movlw b'00000111' ;
movwf CMCON ; comparator off, digital I/O
bsf STATUS,RP0 ; bank 1 |B1
call h'3FF' ; get factory calibration value |B1
movwf OSCCAL ; set OSCCAL calibration value |B1
movlw b'00111000' ; Set 0,1,2 to outputs; 3,4,5 to inputs (switches)
movwf TRISIO ;
movlw b'00110000' ; Enable port 4,5 pullups
movwf WPU ; Set Weak Pull Up register
bcf OPTION_REG, 7 ; Enable Pull Ups
bcf STATUS,RP0 ; bank 0 |B0
I have tried programming with PICKit1 and PICKit2 and on test boards with connections going nowhere GPIO5 works fine (5V) but GPIO4 has varying voltage below 1.3V. I have tried with 3 PIC chips. Have also tried in my circuit which has GPIO4 and GPIO5 going to ground via microswitches. I never get GPIO4 held high with internal pullup. Do I need to disable the Analog port somehow perhaps?
Regards,
David