I am confused again. Funny how I never ran into this before...
The below only works at OSC 32 and below.
Code:
RCSTA = $90 ' Enable serial port & continuous receive
TXSTA = $20 ' Enable transmit, BRGH = 0
SPBRG = 225 ' 2400 Baud @ 0.0%
SPBRGH = 4
BAUDCON.3 = 1 ' Enable 16 bit baudrate generator
Why does it work above OSC 32 if it is DEFINED?
But these work with the 202 Warning. 2400 BAUD will not work like this.
Work meaning it displays on a terminal.
Code:
RUN: '9600 BAUD
RCSTA=$90:TXSTA=$20:SPBRG=77
RCSTA.4 = 0 : RCSTA.4 = 1
HSEROUT ["HOWDY THERE",$d,$a]
PAUSE 250
GOTO RUN
Code:
RUN: '4800 BAUD
RCSTA=$90:TXSTA=$20:SPBRG=155
RCSTA.4 = 0 : RCSTA.4 = 1
HSEROUT ["HOWDY THERE",$d,$a]
PAUSE 250
GOTO RUN
Setup
Code:
'4550 HSER TEST'18F4550'06/20/10
DEFINE OSC 48
@ __CONFIG _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
@ __CONFIG _CONFIG1H, _FOSC_HSPLL_HS_1H
@ __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_512_2H
@ __CONFIG _CONFIG3H, _PBADEN_OFF_3H & _MCLRE_OFF_3H
@ __CONFIG _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L &_XINST_OFF_4L
Once a NEWBE always a NEWBE
Bookmarks