byte extra modbus en el error final

0

Estoy trabajando con la interfaz MODBUS, basada en un dongle usb que convierte usb a RS485, luego, en mi tablero, el dúplex medio rs485 se pasa a max3362, como se muestra .

Los datos se pasan al controlador NXP K64. Mi problema es que al final del paquete modbus que está enviando la CPU, a veces hay un byte adicional que hace que el receptor muestre un error. Por ejemplo: Estos son los datos que el controlador debe enviar al host: 0B 03 02 0F FF 65 F5 . La negrita 65 F5 es la crc.

En cambio, en algún momento, envía: 0B 03 02 0F FF 65 F5 C0

Entonces, aparentemente, hay un byte extra C0, que causa un error en el lado del host. He intentado con varios dongles USB, en algunos, parece que está bien, en algunos, parece que hay un error. No sé cuál es la causa del error, ¿es la placa, FW o dongle? ¿Algunas ideas? Estoy realmente atascado aquí.

    
pregunta roy.me

1 respuesta

2

Ok, he encontrado la respuesta. Estoy usando la biblioteca libmodbus. He utilizado la función de búfer de descarga en esa biblioteca y no solucioné el problema.

    
respondido por el roy.me

Lea otras preguntas en las etiquetas