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

📄 netcomm.c

📁 力天电子 dsp源码
💻 C
字号:
/******************************************************************/
/*Copyright (C), 2008-2009, 力天电子,LiTian Tech.Co.Ltd.		  */
/*  Module Name   : ENC28J60          							  */
/*  File Name     : netcomm.c	   								  */        
/*  Author   	  : 侯长波                                        */     
/*  Create Date   : 2009/10/1                                     */      
/*  Version   	  : 1.0                                           */          
/*  Function      :                         					  */                       
/*  Description   :                                               */            
/*  Support       : www.LT430.com  QQ:903175306                   */             
/******************************************************************/ 
unsigned int chksum(unsigned char *check,unsigned int size)
{
	unsigned int	i;
	unsigned char   temp_H,temp_L,temp;
	unsigned long	sum = 0;
	unsigned char	*ptr = (unsigned char *)check;

	for (i = 0; i < (size) / 2; i++)
	{
		temp_H=*ptr++;
		temp_L=*ptr++;
		temp= (temp_H<<8) | temp_L;
		sum += temp;
	}
	if (size & 0x01)		//表示长度为单数
	{
		sum += ((*ptr)&0xff);
	}
	sum = (sum & 0xffff) + ((sum>>16)&0xffff);//高16位和低16位相加
	if(sum&0xffff0000)
	{//表示有进位
		sum++;
	}
	return ((unsigned int)((sum)&0xffff));
}

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

unsigned long Add16U(unsigned int a, unsigned int b)
{
	unsigned long	tmp;
	tmp = (((unsigned long)Swap16U(a)) << 16) + ((unsigned long)Swap16U(b));
	return	tmp;
}

⌨️ 快捷键说明

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