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

📄 initdtu.c

📁 gprs 无线数据传输
💻 C
字号:
/****************************************************
DTU初始化
周志刚
2003/10/30

修改:增加域名初始化
*****************************************************/

/******************************************************/
/*----------Flash Memory Storage Map List-------------*/
/*0x00~0x0f	|  password              | 					*/ 
/*0x10~0x1f	|  Port Number;          | 					*/ 
/*0x20~0x2f	|  Interface Baud Rate;  |						*/
/*0x30~0x3f	|	Wait delay            |						*/
/*0x40~0x4f	|	Serial Number         |						*/
/*0x50~0x5f	|	Server IP             |						*/
/******************************************************/

#define Pass_Word		0x00		//口令位置									
#define Port_Num		0x10		//端口号
#define Inter_Baud   0x20			//接口波特率	
#define Wait_Delay	0x30			//等待延迟
#define Soft_Version 0x40			//软件版本号
#define Ser_Number	0x50			//序列号
#define Ser_IP			0x60		//服务器IP地址
#define CS_Keepalive	0x70			//目录服务器保活时间
#define	CM_Keepalive	0x80			//通信机保活时间
#define Even_Odd		0x90		//奇偶标志
#define Host_Name               0xa0            //服务器域名  (64byte)
#define CS_Password       0xe0             //DTU登陆CS密码
#define APN_Config        0xf0                  //APN setup
#define Param_Bit               0xb0            //数据位数2004,11,20添加


#define Repply		"Repply:The socket link has established!"
#define PassWord	"888888"
#define PortNum   	"31875"
#define InterBaud	"19200"
#define WaitDelay	"10"
#define SoftVersion	"v3.3"
#define SerNumber		"000001"			//序列号从000001开始
#define SerIP		"211.154.135.10"
#define CSaliveTime	"600"
#define CMaliveTime	"600"
#define EvenOdd		"N"
#define HostName        "www.sztdx.com"
#define CSPassword      "888888"
#define apnConfig       "CMNET"
#define ParamBit        "8"                       //2004,11


int msDelay(unsigned int delay)
{
	auto unsigned long done_time;
	done_time = MS_TIMER + delay;
	while( (long) (MS_TIMER	- done_time) < 0 );
	return 0;
} 

void LED_CON(int value)
{
	// set port D bit 0 low/high
	BitWrPortI(PDDR, &PDDRShadow,value,0);	//turn on led.
}

/*******************************************
程序名称:InitIO()
功能:对通用的I/O口进行初始化设置。
返回值:无
********************************************/
void InitIO(void)
{
	WrPortI(PDDDR,  & PDDDRShadow,  0x0F);		//high 4 bits input and low 4 bits output.
	WrPortI(PDDCR,  & PDDCRShadow,  0x0F);		//open_drain ouput 
	BitWrPortI(PDDR, &PDDRShadow, 1, 1);		//Set PD1(RST)
	BitWrPortI(PDDR, &PDDRShadow, 0, 0);		//Clear PD0(LED)	
}
  
  main()
  {

   unsigned char num_len;
   unsigned char input[16];
   unsigned char buf[64];
  	InitIO();
  	for(num_len=0;num_len<16;num_len++)
  	{
  		input[num_len]=0x00;
  	}
  	
  	for(num_len = 0; num_len < 64; num_len++)
  	  {
  	  	buf[num_len] = 0;
  	  }
  	LED_CON(1);
  											//如果定义Init_Dtu则执行以下程序,对设置参数
  	msDelay(100);												//进行初始化
  	LED_CON(0);
  	
  	writeUserBlock(Pass_Word,input,sizeof(input));	//
  	msDelay(100);
  	writeUserBlock(Pass_Word,PassWord,strlen(PassWord));	//设置密码缺省值(缺省为888888)
  	msDelay(100);
  	
  	writeUserBlock(Port_Num,input,sizeof(input));	//
  	msDelay(100);
	writeUserBlock(Port_Num,PortNum,strlen(PortNum));	//设置端口缺省值(缺省为31875)
	msDelay(100);
	
	writeUserBlock(Inter_Baud,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(Inter_Baud,InterBaud,strlen(InterBaud));	//设置接口速率缺省值(缺省为115200)
	msDelay(100);
	
	writeUserBlock(Param_Bit,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(Param_Bit,ParamBit,strlen(ParamBit));	//设置接口数据位数(缺省为8)
	msDelay(100);
	
	writeUserBlock(Wait_Delay,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(Wait_Delay,WaitDelay,strlen(WaitDelay));	//设置等待延迟缺省值(缺省为10秒)
	msDelay(100);
	
	writeUserBlock(Soft_Version,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(Soft_Version,SoftVersion,strlen(SoftVersion));	//设置产品软件版本号
	msDelay(100);
	
	writeUserBlock(Ser_Number,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(Ser_Number,SerNumber,strlen(SerNumber));	//设置产品序列号
	msDelay(100);
	
	writeUserBlock(CS_Keepalive,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(CS_Keepalive,CSaliveTime,strlen(CSaliveTime));	//设置目录服务器保活时间(缺省为60秒)
	msDelay(100);
	
	writeUserBlock(CM_Keepalive,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(CM_Keepalive,CMaliveTime,strlen(CMaliveTime));	//设置目录服务器保活时间(缺省为60秒)
	msDelay(100);
	
	writeUserBlock(Even_Odd,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(Even_Odd,EvenOdd,strlen(EvenOdd));	//设置奇偶校验(缺省为无奇偶校验)
	msDelay(100);
	
	writeUserBlock(Ser_IP,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(Ser_IP,SerIP,strlen(SerIP));	//设置默认目录服务器IP地址
	msDelay(100);
	
	writeUserBlock(Host_Name,HostName,sizeof(buf));	//
	msDelay(100);
	writeUserBlock(Host_Name,HostName,strlen(HostName));	//设置默认目录服务器域名
   	msDelay(100);
   	
	writeUserBlock(CS_Password,input,sizeof(input));	//
	msDelay(100);
	writeUserBlock(CS_Password,CSPassword,strlen(CSPassword));	//设置DTU登陆目录服务器密码
	msDelay(100);
	
	writeUserBlock(APN_Config,input,sizeof(buf));	//
	msDelay(100);
	writeUserBlock(APN_Config,apnConfig,strlen(apnConfig));	//设置APN
	msDelay(100);

	msDelay(500);
	
	LED_CON(1);
	printf("DTU初始化成功!");
	//printf("ok");
	while(1);
}

⌨️ 快捷键说明

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