and Henrik is right
about this
USE a HSERIN/HSEROUT statement in your code - which you don't. Try adding a dummy
Code:#CONFIG CONFIG FOSC = INTIO67 CONFIG PLLCFG = OFF CONFIG PRICLKEN = OFF CONFIG FCMEN = OFF CONFIG IESO = OFF CONFIG PWRTEN = OFF CONFIG BOREN = SBORDIS CONFIG BORV = 190 CONFIG WDTEN = ON CONFIG WDTPS = 32768 CONFIG CCP2MX = PORTC1 CONFIG PBADEN = OFF CONFIG CCP3MX = PORTB5 CONFIG HFOFST = ON CONFIG T3CMX = PORTC0 CONFIG P2BMX = PORTB5 CONFIG MCLRE = EXTMCLR CONFIG STVREN = ON CONFIG LVP = OFF CONFIG XINST = OFF CONFIG DEBUG = OFF CONFIG CP0 = OFF CONFIG CP1 = OFF CONFIG CP2 = OFF CONFIG CP3 = OFF CONFIG CPB = OFF CONFIG CPD = OFF CONFIG WRT0 = OFF CONFIG WRT1 = OFF CONFIG WRT2 = OFF CONFIG WRT3 = OFF CONFIG WRTC = OFF CONFIG WRTB = OFF CONFIG WRTD = OFF CONFIG EBTR0 = OFF CONFIG EBTR1 = OFF CONFIG EBTR2 = OFF CONFIG EBTR3 = OFF CONFIG EBTRB = OFF #ENDCONFIG ;INCLUDE "modedefs.bas" ;INCLUDE"ALLDIGITAL.pbp" ;INCLUDE "HomeAutomationVars.bas" 'Open with PBP editor INCLUDE "DT_INTS-18.bas" ; Base Interrupt System INCLUDE "ReEnterPBP-18.bas" ; Include if using PBP interrupts define OSC 8 DEFINE HSER_RCSTA 90h 'Hser receive status init DEFINE HSER_TXSTA 24h 'Hser transmit status init DEFINE HSER_BAUD 9600 'Hser baud rate DEFINE HSER_SPBRG 25 DEFINE HSER_CLROERR 1 DEFINE DEBUG_REG PORTB DEFINE DEBUG_BIT 0 DEFINE DEBUG_BAUD 9600 ' Set Debug mode: 0 = true, 1 = inverted DEFINE DEBUG_MODE 1 x var word rxflag var bit rxchar var byte ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler RX1_INT , _read_serial, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM OSCCON = $60 ; OSC 8 @ INT_ENABLE RX1_INT ; enable external (RX) interrupts debug "running",13,10 hserout "running",13,10 ;dummy Main: debug "." for x = 1 to 1000 if rxflag then Debug 13,10,"got !! asc chr",#rxchar,13,10 rxflag=0 endif pauseus 1000 next x Goto main read_serial: rxflag = 1 rxchar = rc1reg @ INT_RETURN




Bookmarks