//buf表示报文中需要计算校验和的各个数,n是数据个数

unsigned short checksum(unsigned short *buf, int n)
{
  unsigned sum;
  for(sum = 0; n > 0; n--)
    sum += *buf++;
  sum = (sum >> 16) + (sum & 0xFFFF);
  sum += (sum >> 16);
  return ~sum;
}

 

相关文章:

  • 2021-12-30
  • 2021-12-30
  • 2022-12-23
  • 2021-07-17
  • 2022-12-23
  • 2021-12-30
  • 2021-12-30
猜你喜欢
  • 2022-12-23
  • 2021-11-03
  • 2022-12-23
  • 2021-12-30
  • 2021-08-05
  • 2021-06-07
  • 2021-10-03
相关资源
相似解决方案