⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netcomm.c

📁 CP2201和51单片机实现ARP ICMP IP UDP协议
💻 C
字号:


unsigned int chksum(unsigned char xdata *check,unsigned int length) //计算校验和
{
	unsigned long sum=0;
	unsigned int i;
	unsigned int xdata *ptr; 
   	 ptr=(unsigned int xdata *)check;
	for (i=0;i<(length)/2;i++)
	{
		sum+=*ptr++;
	}
	if (length&0x01)//表示长度为单数
	{
		sum=sum+((*ptr)&0xff00);
	}
	sum=(sum&0xffff)+((sum>>16)&0xffff);//高16位和低16位相加
	if(sum&0xffff0000)
	{//表示有进位
		sum++;
	}
	return ( (unsigned int)((sum)&0xffff));
//	return ( (UINT)(~((sum)&0xffff)));
}

unsigned int Swap16U(unsigned int data16u)
{
	unsigned int	a;
	a = data16u >> 8;
	a += ((data16u & 0xFF) << 8);
	return	a;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -