The code does compile 100% no errors, but it runs improperly. I am getting scrambled characters from the HSERIN/HSEROUT commands when the program is on the 18f4685, but when the program is on the 16f887 it works perfectly.
Here is how I have the 16f887 initialized (I did not use any config settings here)
Code:
Define device 16F887
Define OSC 8
ANSEL=0 ' A/D disabled for ANS0 to ANS7
ANSELH=0 ' A/D disabled for ANS8 to ANS13
CM1CON0 = 0 ' Disable comparators
CM2CON0 = 0 ' These default to disabled at POR, but just in case
CM2CON1 = 0
ADCON1 = 7
IOCB = 0
INTCON = 0
DEFINE HSER_RCSTA 90h ' Enable Serial PORT
DEFINE HSER_TXSTA 24h ' Enable transmit
DEFINE HSER_SPBRG 129 ' set USART to 9600 baud (when BRGH=1)
DEFINE HSER_CLROERR 1 ' Enable automatic overrun error
DEFINE LOADER_USED 1
and this is how the 18f4685 is initialized
Code:
define device 18f4685
@ __CONFIG _CONFIG1H, _OSC_IRCIO67_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
@ __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
@ __CONFIG _CONFIG3H, _PBADEN_OFF_3H & _LPT1OSC_OFF_3H & _MCLRE_ON_3H
@ __CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _BBSIZ_1024_4L & _XINST_OFF_4L
OSCTUNE = %11000000
OSCCON = %01110000
define OSC 8
CMCON = 0
ADCON0 = 7
ADCON1 = 7
ADRESH = %00000000
ADRESL = %00000000
INTCON = 0
INTCON2 = 0
INTCON3 = 0
IPR1 = 0
PIR1 = 0
PIE1 = 0
DEFINE HSER_RCSTA 90h ' Enable Serial PORT
DEFINE HSER_TXSTA 24h ' Enable transmit
DEFINE HSER_SPBRG 129 ' set USART to 9600 baud (when BRGH=1)
DEFINE HSER_CLROERR 1 ' Enable automatic overrun error
DEFINE LOADER_USED 1
The rest of the program has remained unchanged.
Bookmarks