Hello all

I've got my project quickly up n running thanks to Darrel's Instant Interrupts, but now I would like to use all pins on the 12F683 and my GPIO is just the most useless i've ever seen!!


-I've try two different chip, same result
-hack of options and settings, nothing, niet, nada

ANSEL = %00000000 ' No Analog input, set all digital
CMCON0 = %00000111 ' turn comparators off 07H
TRISIO = %011100 ' inputs, outputs
GPIO = %000000 ' outputs low << very important it seems!!
OSCCON = %01110000 ' Internal 8MHz osc set speed


I just want to use it as a button, or serial out, but no can do so far, it gives zEro volts, and react to nothing as a digital pin...unless I got a stupid mistake in my settings.

others GPIO works fine (0to4), i get my serialLCD going no prob on GPIO.1


thnx for help.


So here is some more of the code, in case youd see the obvious bug:

include "DT_INTS-14.bas" ;' DT Instant interrupt routines
include "Elapsed_INT.bas" ;' Timer routines


include "ReEnterPBP" ;' code is begin me to add this...

Include "modedefs.bas" ' Serial port routines

define OSC 8

; settings in INC file
' set in INC file => device pic12F683, intrc_osc_noclkout, wdt_off, mclr_off, protect_off ; FOR INSTANT INTERRUPT

INTCON = 0 'Do not use PBP interrupts

ANSEL = %00000000 ' No Analog input, set all digital
CMCON0 = %00000111 ' turn comparators off 07H
TRISIO = %011100 ' inputs, outputs
GPIO = %100000 ' outputs low << very important it seems!!
OSCCON = %01110000 ' Internal 8MHz osc set speed


' ******** Instant Interrupt setup ***************************
ASM
INT_LIST macro ; IntSource, Label, Type, ResetFlag?
INT_Handler INT_INT, _DetectSendLaps, PBP, yes
INT_Handler TMR1_INT, _ClockCount, PBP, yes
endm
INT_CREATE ; Creates the interrupt processor

INT_ENABLE INT_INT ; enable external (INT) interrupts
INT_ENABLE TMR1_INT ; Enable Timer 1 Interrupts
ENDASM

; OPTION_REG = OPTION_REG & $80 | 1 ; Set TMR0 Prescaler to 256, leave RBPU alone, adjust for Xtal freqz

LED1 VAR GPIO.0
LCDport VAR GPIO.5 'LCD*communication port

Output GPIO.0
Output GPIO.1
Input GPIO.2
Input GPIO.3
Input GPIO.4
Output GPIO.5

pause 1200 'let the LCD boot

'Custom character for LCD
'Empty heart
serout LCDport, N9600, [18, 64, $0A, $15, $11, $0A, $04, $00, $00, $00 ]
'Filled heart
serout LCDport, N9600, [18, 72, $0A, $1F, $1F, $0E, $04, $00, $00, $00 ]

serout LCDport, N9600, [ 12 ]
serout LCDport, N9600, [ 12 ]