Hola, necesito emular la salida de un programa que trabaja con un puerto COM en serie con un equipo.La trama que envía el programa es 0x01 0x84 0x7A 0x61 0xC5 0xA4 0x84 0x03. Yo envío esa trama usando UART,un pic16f876A y un integrado MAX232.El caso es que le pongo un envío con un noveno bit para paridad pero si veo ese envío mediante el hyperterminal veo con paridad par: 0x84 0xC5 0x84 0x03 y los restantes los veo con paridad impar. Si utilizo el hyperterminal para recibir la trama que envía el programa, lo recibo todo en paridad par y en impar no envía nada. ¿Cómo podría enviar esa trama con todos los bit en paridad par?
Este es el fragmento con el que envío toda la trama y así varios elementos en par y otros en impar:
trama
movlw 0x01
call tx_dato ;Mueve 0x01 a TXREG
call retardo_min
movlw 0x84 ;10000100
call tx_dato
call retardo_min
movlw 0x7A
call tx_dato
;
call retardo_min
movlw 0x61
call tx_dato
call retardo_min ; no tiene nada
movlw 0xC5
call tx_dato
call retardo_min
movlw 0xA4
call tx_dato
call retardo_min
movlw 0x84
call tx_dato
call retardo_min
movlw 0x03
call tx_dato
goto ret1min
;;###########################################################################################
;Tx_Dato: Transmite vía serie el dato presente en el reg. W
tx_dato
movwf TXREG ;Almacena el byte a transmitir
Tx_Dato_Wait btfss PIR1,TXIF ;Byte transmitido ??
goto Tx_Dato_Wait;No, esperar
return ;Si
Gracias.