Red de conocimiento informático - Conocimiento del nombre de dominio - Programa VB de suma de comprobación CRC para inversores de la serie Delixi CDI-E que utilizan comunicación 485

Programa VB de suma de comprobación CRC para inversores de la serie Delixi CDI-E que utilizan comunicación 485

La diferencia entre los resultados de la verificación CRC y los principios de cálculo se refleja en los siguientes aspectos:

1. Diferentes simplificaciones. Por ejemplo, CRC8 utiliza 5 métodos de simplificación comúnmente utilizados y los resultados de diferentes simplificaciones seguramente serán diferentes. .

2. El algoritmo directo es diferente del algoritmo inverso. El algoritmo directo es cuando los datos en el lado derecho son altos y el valor CRC inicial es 0. El algoritmo inverso es simplificado. los datos en el lado derecho son bajos y el valor inicial de CRC es 0. Para ffff, es necesario revertir la simplificación.

Observando el funcionamiento del programa desde una perspectiva de hardware:

1. Las definiciones de datos de los microcontroladores y ARM son diferentes. Por ejemplo, el tipo int del microcontrolador son datos de 16 bits. y ARM es generalmente de 32 bits. En PC, puede haber 64 bits en el CRC, por lo que la definición de los datos en la operación CRC producirá resultados diferentes.

2. El espacio donde se almacenan los datos en el microcontrolador tiene declaraciones. Por ejemplo, las áreas de código, idata y xdata deben estar claras. Además, es necesario verificar la ubicación donde se encuentran los datos. almacenado para ver si los datos son auténticos El almacenamiento es correcto; de lo contrario, puede aparecer 00 o el resultado de verificación de ff.

A juzgar por su programa, puede ser un problema de hardware. Asegúrese de prestar atención a la definición de datos. Por ejemplo, para la variable int corta en 51, ¿define directamente 8 bits como char y? 16 bits como Int, 32 bits se pueden definir como largos y listo. Tienes que preocuparte por acortarlo

.