Yes, I do use a USB-to-serial interface (FTDI).
I now corrected the BAUDCTL register so as it sends data inverted (no need for a hw inverter anymore).
As far as I understand this register's function, OSCTUNE calibrates the internal oscillator so I don't think it will affect the baud rate generator (I don't know).
BTW, how do I measure a "good" 115200bps signal?
Code:
' HSEROUT
' PIC 16F690 Fuses
@ __Config _FCMEN_OFF &_IESO_OFF &_BOR_OFF &_CPD_OFF &_CP_OFF &_MCLRE_OFF &_PWRTE_OFF &_WDT_OFF &_HS_OSC
OPTION_REG = %10000000 'PORT A&B Pull-Ups (look WPUA & WPUB)
ADCON0 = %00000000 'A/D Module
ANSEL = %00000000 'Select analog inputs Channels 0 to 7
ANSELH = %00000000 'Select analog inputs Channels 8 to 11
INTCON = %00000000 'INTERRUPT Control
'WPUA = %00000000 'Select PORTA weak pull-ups
'IOCA = %00000000 'Interrupt On Change selection
CM1CON0 = %00000000 'Comparator1 Module
CM2CON0 = %00000000 'Comparator2 Module
TRISA = %00000000 'Set Input/Output (0 to 5)
PORTA = %00000000 'Ports High/Low (0 to 5)
TRISB = %00000000 'Set Input/Output (4 to 7)
PORTB = %00000000 'Ports High/Low (4 to 7)
TRISC = %00000000 'Set Input/Output (0 to 7)
PORTC = %00000000 'Ports High/Low (0 to 7)
'-------------------------------------------------------------------------------
' DEFINEs
DEFINE OSC 20
RCSTA = $90 ' Enable serial port & continuous receive
TXSTA = $24 ' Enable transmit, BRGH = 1
SPBRG = 42 ' 115200 Baud @ 20MHz, 0.94%
BAUDCTL = 24 'Transmit INVERTED data to RB7, Enable 16 bit baudrate generator
'-------------------------------------------------------------------------------
LED1 var PORTA.2
Counter var word
Counter = 0
TEST:
Toggle led1
HSEROUT [dec counter,13,10]
pause 500
Counter = counter + 1
goto test
end
Bookmarks