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