用单片机实现三菱变频器通讯, 通过三菱专用协议通讯,如何用c语言实现协议中的和校验,请高人指点?
发布网友
发布时间:2022-04-23 09:49
我来回答
共1个回答
热心网友
时间:2023-10-10 02:36
#include <stdio.h>
/* 校验和函数 */
int checksum(const char *arr, int arrsize)
{
int i = 0, sum = 0;
for (; i < arrsize; i ++)
sum += (unsigned char)arr[i];
if (sum > 0xff)
{
sum = ~sum;
sum += 1;
}
sum &= 0xff;
return sum;
}
int main(void)
{
char str[] = "hello, world\n";
printf("0x%x\n", checksum(str, sizeof(str)));
return 0;
}
追问谢谢大侠。很好的完成了总和的值。