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

📄 gprs_net.cpp

📁 gprs协议实现
💻 CPP
字号:
#include <stdio.h>
#include "GPRS_NET.H"
//void delay_ms(unsigned short number);

//*********************************************************************
//         延时子程序        1ms
//*********************************************************************
void delay_ms(unsigned short number)
{									//craystal  22.1184Mhz
	unsigned char i; 
	unsigned short j;
	for (j=0;j<number;j++)
	{
			for (i=0;i<229;i++);   //11.0592Mhz   (1ms)       
			for (i=0;i<229;i++);   //22.1184Mhz   (1ms) 
	}
}	
//*********************************************************************
//         延时子程序       100ms
//*********************************************************************
			
void delay_100ms(unsigned short number)
{
	unsigned short j;					
	for (j=0;j<number;j++)
		delay_ms(100);
}
	
/* Do TCP-style checksum. Improved algorithm is from RFC 1071 */
unsigned short csum(void *dp, unsigned short count)
{
    register unsigned long total=0L;
    register unsigned short n, *p, carries;

    n = count / 2;
    p = (unsigned short *)dp;
    while (n--)
        total += *p++;
    if (count & 1)
    #ifdef bigend
        total += *(unsigned char *)p;
    #else
        total += (*(unsigned char *)p)<<8;
    #endif    
    while ((carries=(unsigned short)(total>>16))!=0)
        total = (total & 0xffffL) + carries;
    return((unsigned short)total);
}


unsigned short swapw(unsigned short wdata)
{
	return((wdata>>8)+((wdata&0xff)<<8));
}


unsigned long swapl(unsigned long ldata)
{
	unsigned long l;
	l=((ldata&0xff)<<24)+((ldata&0xff00)<<8)+((ldata&0xff0000)>>8)+(ldata>>24);
	return (l);
}

⌨️ 快捷键说明

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