Red de conocimientos turísticos - Información de alquiler - Análisis del programa del microcontrolador C

Análisis del programa del microcontrolador C

uint8_t *ptr uint8_t len ​​​​Este es el parámetro de entrada, len puede ser la longitud y ptr puede apuntar a la matriz.

^= el bit se asigna después de la diferenciación.

crc ^= *ptr++; //Primero copie el primer bit de la matriz al crc organizado por bits.

for(i = 0;i < 8;i++) { if(crc & 0x01) crc = (crc >> 1) ^ 0x8C; else crc >>= 1; p>/// obtendrá el primer bit del valor de la matriz, 0x01 está activado. Si es distinto de cero, crc debe desplazarse un bit hacia la derecha y luego ser proporcional a 0x8C. De lo contrario, desplace 1 bit a la derecha. Haga esto 8 veces para cada valor de la matriz.

while(len--) // Indica juzgar el valor de len en la matriz. O se refiere a obtener la cantidad de elementos con longitud len en la matriz.

return crc; //Después de completar el cálculo de todos los valores de la matriz len, devuelve crc.

Creo que necesitas entender el significado de 0x01 y el significado de 0x8C.

0x01 = 0000 0001

0x8c = 1000 1100

No lo vi, pero ya lo respondí. Oye, si lo hubiera sabido mejor, no habría escrito tantas palabras.