uint8_t system_packet_verify(unsigned char *packet,int len) { int index; uint8_t verify; verify = 0; for(index=1;index<len;index++) { verify = verify + packet[index]; } return verify; } /********************************************************************* * 和校验 * ************************************************************************/ uint8_t verify_summer(uint8_t *pBuffer,uint16_t len) { uint8_t verify; uint16_t index; verify=0; for(index=0;index<len;index++) { verify += pBuffer[index]; } return verify; } /********************************************************************** * 交换16bit数据的高低字节 * ***********************************************************************/ uint16_t verify_swap(uint16_t verify) { uint16_t verify_crc; verify_crc = ((verify&0xff)<<8) + ((verify>>8)&0xff); return verify_crc; } uint16_t verify1,verify2;
时间: 2023-08-01 12:13:41 浏览: 96
C实现与 uint64_t 相同功能的类
这段代码包含了几个函数和两个变量。
1. system_packet_verify函数用于计算给定数据包packet的和校验值。它接收一个unsigned char类型的数据包指针packet和数据包长度len作为参数。首先,它初始化verify为0,然后对除第一个字节之外的所有字节进行累加操作,并将结果存储在verify变量中。最后,它将verify作为校验结果返回。
2. verify_summer函数用于计算给定缓冲区pBuffer的和校验值。它接收一个uint8_t类型的缓冲区指针pBuffer和缓冲区长度len作为参数。首先,它初始化verify为0,然后对所有字节进行累加操作,并将结果存储在verify变量中。最后,它将verify作为校验结果返回。
3. verify_swap函数用于交换给定16位数据verify的高低字节。它接收一个uint16_t类型的数据verify作为参数。首先,它通过位运算将高低字节交换位置,并将结果存储在verify_crc变量中。最后,它将verify_crc作为交换后的结果返回。
4. verify1和verify2是两个uint16_t类型的变量,可能用于存储计算得到的校验值。
这些函数主要用于数据包校验和操作,以及高低字节的转换。
阅读全文