its not in the code you have posted
this code as suggested by henrik works as expected
Code:#CONFIG __config _HS_OSC & _WDT_ON & _PWRTE_OFF & _MCLRE_ON & _BODEN_ON & _LVP_OFF & DATA_CP_OFF & _CP_OFF #ENDCONFIG DEFINE OSC 8 DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0 DEFINE HSER_SPBRG 12 ' 9600 Baud @ 8MHz, 0.16% DEFINE HSER_CLROERR 1 ' Clear overflow automatically TRISB=%11111111 'Make RB0 input char var byte CMCON=7 Main: HSERIN 5000, Timeout, [char] IF (char="A") THEN GOSUB somewhere ENDIF Goto Main Somewhere: HSEROUT["I got an A", 13] RETURN Timeout: HSEROUT["Nothing for the last 5 seconds, I'll just restart and wait 5 more....",13] Goto Main




Bookmarks