Pic Eusart behaviour

I'm working with a PIC2455, trying to get it to send a byte on the EUSART every few milliseconds.

What is happening is I get a constant pulse train out, rather than

9bits-pause-9bits. I know the timer is working by scoping the A1 pin. I thought it was because I was sending 0x55 at first, but I still get a pulse train even when loading 0x00 into TXREG.

It's reassurring that I'm getting something other than a flatline, but still...

What am I overlooking?

#include

config LVP = OFF config XINST = OFF config CPUDIV = OSC1_PLL2 config PLLDIV = 12 ;12 config WDT = OFF config MCLRE = OFF config DEBUG = OFF config PBADEN = ON config LPT1OSC = OFF config FOSC = INTOSCIO_EC

cblock 0x20 TimerVal RESULTHI RESULTLO endc

org 0 goto Start

Start

movlw 0x09 ;'00001001' movwf TRISA ; BSF TRISA,0 ;Set RA0 to ADC input ; BCF TRISA,1 ;Set RA1 to output ; bsf TRISA,3 ;set A3 for input - pushbutton

movlw 0xFF ; make PORTB all input movwf TRISB

;setup PORTC for EUSART out CLRF TRISC BSF TRISC, 6

;setup ADC clrf ADCON0 movlw 0x0E movwf ADCON1 movlw 0xAF movwf ADCON2

;set timer1 for 2ms operation clrf T1CON clrf TMR1H

;set EUSART for Transmit movlw b'11110111' ;SENDB=0 movwf TXSTA

clrf SPBRGH movlw 0x01 ;set baud control register for 117.6k movwf SPBRG ; pg. 244, 4MHz

clrf BAUDCON bsf BAUDCON, BRG16 ;baud rate bit=high

movlw 0x90 movwf RCSTA

; more timer stuff movlw 0x00 ;set timer interval movwf TimerVal

; activate timer movwf TMR1L movlw b'10000001' movwf T1CON

TransmitLoop BTFSS PIR1, TMR1IF ; wait for timer to go off goto $-2 setf TMR1H decf TMR1H movf TimerVal, w movwf TMR1L ;reset timer for next countdown bcf PIR1, TMR1IF

; pulse to trigger scope BSF PORTA, 1 ; BCF PORTA, 1

movlw 0x00;55 btfsc RESULTHI, 3 movlw 0x00

BSF TXSTA, TX9D ;set/clear 9th bit before updating TXREG! movwf TXREG goto TransmitLoop end

Reply to
randy.day
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.