If you do not want to setup all of the defines and want to change things around on the fly here is an example that I use for testing on a particular chip. Displays the serial input on an LCD. The RCSTA.4 part clears any overruns.
Did you have a MAX232 or equivalent when you tried the hardware serial?
Code:
'******************************************
'18F6680 02/14/09 INFEED PARSE TEST BAUD 9600
DEFINE OSC 20
@ __CONFIG _CONFIG1H, _OSC_HS_1H
@ __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
@ __CONFIG _CONFIG4L, _LVP_OFF_4L
DEFINE LCD_DREG PORTG
define LCD_DBIT 0
DEFINE LCD_RSREG PORTE
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTE
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 4
DEFINE LCD_COMMANDUS 3000
DEFINE LCD_DATAUS 150
'###############################################
PAUSE 100 : LCDOUT $FE,1,"TEST"
N1 VAR LONG:N2 VAR LONG
START: N1 = 0 : N2 = 0
HIGH PORTG.4 :PAUSE 250:LOW PORTG.4
RCSTA.4 = 0 : RCSTA.4 = 1
'CHANGE LINE FEED AND CARRIAGE RETURN AS REQUIRED
RCSTA=$90:TXSTA=$24:SPBRG=129:HSERIN[WAIT($a),WAIT($d),DEC N1,WAIT(","),DEC N2]
LCDOUT $FE,1,DEC N1 : lcdout $FE,$C0,DEC N2 : GOTO START
Bookmarks