Estoy usando la version de mplab 7.41
he probado todo el proyecto y programas que he realizado pequeñitos para implementar las funciones de recibir y transmitir.
Por ejemplo el de trasmitir un dato solo me funciona con el mplab y ejecutandolo con el run, paso a paso no funciona.
Te lo adjunto para que lo veas, porque con la aplicacion para simulacion de la usart no me funciona. Lo que realiza es que a partir de dato 0 lo va incrementado indefinidamente y lo envia. Con este programa la fichero .txt del debuguer se llena con los caracteres enviados.
LIST P=18F8722 ;Tipo de procesador
INCLUDE <P18F8722.INC> ;Definicion del archivo donde estan
;definidos todos los registros del P18F8722
;------------------ VARIAB
DATO equ 0x13
;CODIGO
ORG 0x00 ;inicio en el vector de reset
goto INICIO ;va a la primera instrucción de programa
INICIO
;recepcion dato
clrf PORTC
movlw b'10111111'
movwf TRISC
movlw .15 ;9600 baudios
movwf SPBRG1
movlw .0
movwf SPBRGH1
bcf TXSTA1,BRGH
bcf BAUDCON1,BRG16
bcf TXSTA1,SYNC
bsf RCSTA1,SPEN
bsf TXSTA1,TXEN ;habilitamos trasmision
bcf RCSTA1,CREN ;deshabilitamos recepción
movlw .0
movwf DATO
ENVIAR
movf DATO,W
movwf TXREG1 ;cargamos dato y enviamos
ESPERAR_TRANSMISION
btfss TXSTA1,TRMT ;esperamos registro TSR vacio (flag TRMT=1)
goto ESPERAR_TRANSMISION ;no vacio, esperamos
bcf PIR1,TX1IF
incf DATO
goto ENVIAR
END