My project is a 24hr temp logger. Which logs every 15 minutes for the 24hr period. The 15 minute timer is the PBP “SLEEP” command. After 24 hours the application goes to sleep” @sleep”. I want an interrupt on GP2 external interrupt pin to stop the 15min. timer or the “@sleep” and send the program to a PBP routine to RS232 dump to PC. At that time the job is done, unit goes to low power state until power disconnect. I don’t want to use ON INTERRUPT, can’t wait 15min. to print. Once interrupted I don’t need to save any variables, or STATUS or PCLATH (<2k) logging is done, I only need a “goto _printout” placed at location 04. So how do I accomplish that? AND have I missed something of the process?
I’ve written a small INT test program to work this out but I’m not having any luck. On compile I get the error “undefined symbol myint” & “opcode expected instead of myint”Code:@ DEVICE PIC12F683,MCLR_OFF,INTRC_OSC_NOCLKOUT ,WDT_ON,BOD_OFF @ DEVICE PWRT_ON,FCMEN_OFF,IESO_OFF,PROTECT_ON OSCCON=%1110000 Define OSC 8 VRCON = 0 ADCON0 = 0 OPTION_REG = %01000000 ;rising edge ANSEL = 0 ;digital all CMCON0 = 7 INTCON = %10010000 ;Globle set, GP2 ext int, flg clr GPIO=0 TRISIO=%00001100 ;GPIO.2 input ;GPIO.2 held low until button push +5v Blink var GPIO.4 GOTO Start define INTHAND myint asm myint goto _printlog endasm Start: ----- LOG DATA for 24hrs Printlog: ----- RS232 to PC INTCON = %10010000 ;in the case another print out is needed @sleep
I remove the myint from the asm line and the opcode error goes away. However I think this is needed as it is the ASM label. This ASM method is right out of the 2.60 manual. What is it I’m not getting? Comments Please!




Bookmarks