He realizado este programa para transmitir por el puerto serie y cuando lo ejecuto tengo el problema de que una vez acabado el programa este no finaliza, sino que vuelve a comenzar. He probado a ejecutarlo sin el Watchdog y nada. ¿Que puede estar mal? En teoria una vez llegado al END no deberia seguir, pero el programa vuelve a comenzar una y otra vez
Un saludo
;***************comunicacion serie**************
;
;
;
;***********************************************
;DATOS
LIST P=18F8720
INCLUDE <P18F8720.INC>
TXDATO equ B"00000001"
;CODIGO
ORG 0x00 ;inicio en el vector de reset
goto INICIO ;va a la primera instruccion de programa
INICIO
bsf TRISG,2 ;habilitamos RX2 como entrada
bcf TRISG,1 ;habilitamos TX2 como salida
movlw D"129" ;9600 baudios
movwf SPBRG2
movlw D"00000100" ;8 bits datos, com. asincrona,
;alta velocidad (menor error)
movwf TXSTA2
bsf RCSTA2,SPEN ;habilitamos puerto serie (USART)
bsf INTCON,GIE/GIEH ;habilitamos interrupcion
bsf INTCON, PEIE/GIEL ;habilitamos interrupcion
bsf PIE3,TX2IE ;hablitamos flag TX2IF
bsf TXSTA2,TXEN ;habilitamos transmision
;************************************
;Transmito un dato
;************************************
BUCLE1
btfss PIR3,TX2IF ;esperamos registro TXTEG2 vacio (flag TX2IF)
goto BUCLE1 ;no vacio, esperamos
DATOS
movlw B"00000001"
incf TXDATO
addwf TXDATO,W
movwf TXREG2
BUCLE2
btfss TXSTA2,TRMT ;esperamos registro TSR vacio (flag TRMT)
goto BUCLE2 ;no vacio, esperamos
;goto BUCLE 1 -------------> (bucle infinito para enviar)
END