Hola compañeros!
Estoy haciendo una práctica en la que se requiere transmitir a través del módulo EUSART del PIC con chequeo de paridad un valor que viene de un ADC. Estoy programando en mikroBasic con las librerías del UART. A pesar de que estas no cuentan con implementación de noveno bit y chequeo de paridad solo active por código con TX9_BIT=1
Para el conteo de bits positivos:
impar=0
for i=0 to 7
impar=impar+ADC.i
next i
impb=not (impar mod 2)
y finalmente para enviar al UART
IF (UART1_TX_IDLE=1) THEN
TX9D_BIT = impb
UART1_Write(ADC)
END IF
En la terminal virtual tengo la siguiente configuración:
{PRIMITIVE=DIGITAL}
{MODDLL=VTERM.DLL}
{BAUDRATE=9600}
{DATABITS=8}
{PARITY=EVEN}
{STOPBITS=1}
{XONXOFF=0}
{SIGPOL=0}
{CTLPOL=0}
{TRACE=1}
Y la lee correctamente la información detectando las trasnsmisiónes erróneas si existen marcándolo en el registro de la simulación.
Ahora quiero enviarlo a un puerto COM virtual para manejarlo con otro programa con el COMPIM pero ya probé todas las configuraciones posibles y siempre me da error en el lado virtual a menos que que omita la parte de chequeo de paridad. Tengo la teoría que no funciona muy bien el COMPIM con opciones de chequeo de paridad.