?? initdtu.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 + -