Hello,

I would like to transmit serial data using the integrated AUSART module in PIC16F88. THE PIC is directly connected to the PC.

Each time I start the transmission, the terminal receives some characters (not corresponding to what I send) and the RX counter doesn't stop just as if it would continue to receive datas.

It looks like a transmission speed error; I then tried all possible baudrates from 300 to 28800 bauds -> no improvement.

The datasheet indicates to set the TRISB accordingly. Except I/Os, I couldn't find other settings. Are there any?

Does someone have similar applications examples I could have a look at please?

Here is my code; unfortunately, it doesn't work well.
Code:
'PORTB.0 is button (INTCON use)
'PORTB.4 is LED
'PORTB.5 is TX (PIC fixed) connected to PC's SUB-D9 pin 2
'GND connected to PC's SUB-D9 pin 5
'On PC Micro Code Studio's Terminal set to 9600,N,8,1

OSCCON = %01100000          'Internal RC set to 4MHZ
TRISB  = %00000101          'PORTB.0 & 2 are Inputs - all others are Outputs
RCSTA  = %10000000          'Enable serial port (RB2=RX & RB5=TX)
TXSTA  = %00100000          'Enable Transmit Bit
SPBRG  = 6                  'Set baudrate to 9600

Message var word
Message = 12345

MAIN:
    if INTCON.1 = 1 then    'Start prog
        INTCON.1 = 0        'Reset INT flag
        high PORTB.4        'Led On = transmission start 
        TXREG = Message
        low  PORTB.4        'Led Off = transmission end
    endif
    goto MAIN
end