版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、STA的 SSID: AT+WSSSID=1LAUVANSTA的 KEY:AT+WSKEY=WPAPSK,AES,pxfpxfpxf默认STA 模式:AT+WMODE=STASTA作服务器时的端口号:AT+NETP=TCP,SERVERSTA的IP及网关:默认STA模式下MAC勺设置:透传模式: AT+ENTM串口模式:/* *名称 : 变量定义* */ volatileuint8UART3_RxBufUART3_RXBUF_SIZE;volatileuint8UART3_TxBufUART3_TXBUF_SIZE;volatileuint8UART3RxFlag;/接收标志volatileu
2、int16UART3_RxHead;/接收缓冲区读指针volatileuint16UART3_RxEnd;/接收缓冲区指针volatileuint8UART3_RxFullFlag;/接收缓冲区满标志volatileuint8UART3_RxEmptyFlag; / 接收缓冲区空标志volatileuint8UART3TxFlag;/发送标志volatileuint16UART3_TxHead;发送缓冲区空标志 / 超时时间 / 超时标志 / 串口接收完成时间 / 串口接收完成判断 / 串口接收完成标志限时器volatileuint16UART3_TxEnd;volatileuint8UART
3、3_TxEmptyFlag; / volatileuint8UART3OverTime;volatileuint8UART3OverFlag;volatileuint8UART3RxCompTime;volatileuint8UART3RxCompJudg;volatileuint8UART3RxCompFlag;volatileuint16Uart3OverTime;/WIFI 相关参数volatileuint8WifiStatus=0;volatileuint8IsWifiBusy;volatileuint32Channel_Timer_Limit;/ /volatileuint16Dog
4、_IsWifiBusy=DOG_ISGPRSBUSY;volatileuint16Dog_IsWifiBusy=0;volatileuint8WifiSendBuf512;volatileuint8WifiRecBuf512;volatileuint8SetWifiParmFlag=0;volatileuint8SetWifiUartParmFlag=0;volatileuint8Send2BTime=0;volatileuint8WifiOnLinkFlag=0;volatileuint8WifiSendStartTime=0;发送心跳次数发送登录帧标志ivolatileuint8WifiH
5、eartbeatno=0;/Wifivolatileuint8WifiSendEnterNetFlag=0;/Wifi volatileuint8WifiEtherNetFlag=0;/ /*Functionname:STM_EVAL_USART3_Init*Descriptions:串口 3 中断服务函数*inputparameters:无*Outputparameters:无*Returnedvalue: 无* */ voidSTM_EVAL_USART3_Init(void) NVIC_InitTypeDefNVIC_InitStructure;嵌套优先级分组为 1/*Enableand
6、setUSART3Interrupttothe0priority*/NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); / NVIC_InitStructure.NVIC_IRQChannel=USART3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_In
7、itStructure); /* 初始化客户端WifiPortIOSet*/voidWifiIOInit(void)GPIO_InitTypeDefGPIO_InitStructure;/RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;GPIO_InitS
8、tructure.GPIO_Pin=Reload;/ 定义 Reload 输出脚GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_SetBits(GPIOB,Reload);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Pin=ResetTn;/ 定义 ResetTn 输出脚
9、GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_SetBits(GPIOB,ResetTn);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;GPIO_InitStructure.GPIO_Pin=PWR_SW;/ 定义 PWR_S输出脚GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_S
10、etBits(GPIOA,PWR_SW);/*名称: USART3_Wifi()功能:初始化串口 3入口参数:出口参数:*/voidUSART3_Wifi(void)GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;/*configUSART2clock*/RCC_APB2PeriphClockCmd(RCC_APB1Periph_USART3|RCC_APB2Periph_GPIOB,ENABLE) ;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABL
11、E);RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);/*USART3GPIOconfig*/*ConfigureUSART3Tx(PB.10)asalternatefunctionpush-pull*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);
12、/*ConfigureUSART3Rx(PB.11)asinputfloating*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOB,&GPIO_InitStructure);/*USART3modeconfig*/USART_InitStructure.USART_BaudRate=115200;USART_InitStructure.USART_WordLength=USART_WordLength_8b;USART_Init
13、Structure.USART_StopBits=USART_StopBits_1;USART_InitStructure.USART_Parity=USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_Non e;USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;USART_Init(USART3,&USART_InitStructure);/* 使能串口 3 的发送和接收中断*/USART_ITConf
14、ig(USART3,USART_IT_RXNE,ENABLE);USART_Cmd(USART3,ENABLE);STM_EVAL_USART3_Init(); / 中断初始化WifiIOInit();/WIFI 控制脚的初始化/* * *Functionname:USART3_IRQHandler*Descriptions:串口 3 中断服务函数inputparameters:无Outputparameters:无*Returnedvalue: 无* */voidUSART3_IRQHandler(void) if(USART_GetITStatus(USART3,USART_IT_RXNE
15、)!=RESET) UART3RxCompJudg=VALID_FLAG;UART3RxCompTime=0;Uart3OverTime=0;if(UART3_RxFullFlag=0)UART3_RxBufUART3_RxEnd+ =USART_ReceiveData(USART3);/* 保存接收到的数据*/if(UART3_RxEnd=UART3_RXBUF_SIZE)UART3_RxEnd=0;if(UART3_RxEnd=UART3_RxHead)UART3_RxFullFlag=1;UART3_RxEmptyFlag=0;/USART_ITConfig(USART3,USART_I
16、T_RXNE,ENABLE);/*Functionname:HandleRFSendData*Descriptions:发送多个字节数据发送数据存储位置*inputparameters:Buffer:*NByte: 发送数据个数*Outputparameters:无*Returnedvalue: 无* */voidHandleWifiSendData(unsignedchar*buffer,intbufferlen) while(bufferlen=0) USART_SendData(USART3,*buffer+);/ResetWdog();while(USART_GetFlagStatus
17、(USART3,USART_FLAG_TC)=RESET); bufferlen-;/USART_Cmd(USART3,ENABLE);/*名称: HandleRFUartTimer()功能:处理读UART1时间入口参数:出口参数:*/voidHandleWifiUartTimer(void)if(UART3RxCompJudg=VALID_FLAG) / 接收是否完成判断if(+UART3RxCompTime=UART3_COMP_TIME)/J 断接收中断之间超时 UART3RxCompTime=0;UART3RxCompJudg=0;UART3RxCompFlag=VALID_FLAG;
18、/NoReDataTime=0;elseUart3OverTime+;/*名称: Uart3ReadBytes()功能:读取串口 2 字符串* 入口参数: *pBuf: 读取数据存储区* 出口参数:*/uint16Uart3ReadBytes(uint8*pBuf)uint16nEnd=0;uint16Size=0;/ 串口 0 接收数据缓冲区不为空/ 中断可能改变此值/endheadif(UART3_RxEmptyFlag=0)nEnd=UART3_RxEnd;UART3_RxFullFlag=0;if(UART3_RxHeadend Size=UART3_RXBUF_SIZE+nEnd-U
19、ART3_RxHead;memcpy(pBuf,(uint8*)&UART3_RxBuf0+UART3_RxHead,UART3_RXBUF_SIZE-UART3_RxH ead);if(nEnd0)memcpy(pBuf+UART3_RXBUF_SIZE-UART3_RxHead,(uint8*)&UART3_RxBuf0,nEnd);UART3_RxHead=nEnd;if(UART3_RxHead=UART3_RxEnd)UART3_RxEmptyFlag=1;/ 接收数据缓冲区空elseSize=0;memset(uint8*)&UART3_RxBuf0,0 x00,512);retu
20、rnSize;/*名称: GetWifiMode485Data()功能:读出接收的数据,取出完整的一帧,放到接收BUF,入口参数:无出口参数:返回长度和数据BUF。*uint16GetWifiMode485Data(void)uint16loop,temps,size;uint16i,starti;uint8temp1,temp2;uint16datalen;memset(uint8*)&WifiRecBuf,0 x00,512);size=Uart3ReadBytes(uint8*)WifiRecBuf);temps=size;i=0;while(WifiRecBufi!=0 x68&i=s
21、ize)return0;/ 错误格式信息starti=i;/point0 x68i+=7;if(WifiRecBufi!=0 x68)return0;i+;/pointctrlcodei+;/pointlen;temp1=WifiRecBufi;temp2=WifiRecBufi+1;datalen=(uint16)(temp1+temp2*256);i+=2;if(i+datalen=temps)return0;i+=datalen;/pointcsi+;/point0 x16if(WifiRecBufi!=0 x16)return0;size=datalen+9;/head(9)+cs+0
22、 x16for(loop=0;loop512)/ return;/ / size=0;/ ptr=(uint8*)&WifiSendBuf; TOC o 1-5 h z /*(ptr+)=0 x41;/A/*(ptr+)=0 x54;/T/*(ptr+)=0X2B;/+/ size+=3;/ if(status=Wifi_STA)/AT+WMODE=STA/*(ptr+)=0 x57;/W/*(ptr+)=0 x4D;/M/*(ptr+)=0X4F;/O/*(ptr+)=0 x44;/D/*(ptr+)=0 x45;/E/*(ptr+)=0 x3D;/=/*(ptr+)=0 x53;/S/*(
23、ptr+)=0 x54;/T/*(ptr+)=0 x41;/A/ size+=9;/ elseif(status=Wifi_WSSSID)/AT+WSSSID=huge 默认/*(ptr+)=0 x57;/W/*(ptr+)=0 x53;/S/*(ptr+)=0X53;/S/*(ptr+)=0 x53;/S/*(ptr+)=0 x49;/I/*(ptr+)=0 x44;/D/*(ptr+)=0 x3D;/=/ size+=7;/len=WifiName0;/memcpy(ptr,(uint8*)&WifiName1 ,len);/ptr+=len;/ size+=len;/ )/ elseif
24、(status=Wifi_WSKEY)/AT+WSKEY=WPAPSK,AES,pxfpxfpxf 默认/ /*(ptr+)=0 x57;/W/*(ptr+)=0 x53;/S/*(ptr+)=0 x4b;/K/*(ptr+)=0 x45;/E/*(ptr+)=0 x59;/Y/*(ptr+)=0 x3D;/=/*(ptr+)=0 x57;/W/*(ptr+)=0 x50;IIP/*(ptr+)=0 x41 ;/A/*(ptr+)=0 x50;P/*(ptr+)=0 x53;/S/*(ptr+)=0 x4b;/K/*(ptr+)=0 x2c;/,/*(ptr+)=0 x41;/A/*(ptr+
25、)=0 x45;/E/*(ptr+)=0 x53;/S/*(ptr+)=0 x2c;/,/size+=17;/len=WifiPassO;/memcpy(ptr,(uint8*)&WifiPass1,len);/ptr+=len;/size+=len;/)/elseif(status=Wifi_WANN) 默认/(/*(ptr+)=0 x57;/W/*(ptr+)=0 x41;/A/*(ptr+)=0 x4E;/N/*(ptr+)=0 x4E;/N/*(ptr+)=0 x3D;/=/*(ptr+)=0 x44;/D/*(ptr+)=0 x48;/H/*(ptr+)=0 x43;/C/*(ptr
26、+)=0 x50;P/*(ptr+)=0 x2C;/,/*(ptr+)=0 x31;/1/*(ptr+)=0 x39;/9/*(ptr+)=0 x32;112/*(ptr+)=0X2E;/./*(ptr+)=0 x31;/1/*(ptr+)=0 x36;/6/*(ptr+)=0 x38;/8/*(ptr+)=0 x2E;/./*(ptr+)=0 x31;/1/*(ptr+)=0 x2E;/./*(ptr+)=0 x33;/3/*(ptr+)=0 x35;/5/*(ptr+)=0 x2C;/,/*(ptr+)=0 x32;/2/*(ptr+)=0 x35;/5/*(ptr+)=0 x35;/5/
27、*(ptr+)=0X2E;/./*(ptr+)=0 x32;/2/*(ptr+)=0 x35;/5/*(ptr+)=0 x35;/5/*(ptr+)=0X2E;/./*(ptr+)=0 x32;/2/*(ptr+)=0 x35;/5/*(ptr+)=0 x35;/5/*(ptr+)=0X2E;/./*(ptr+)=0 x30;/0/*(ptr+)=0 x2C;/,/*(ptr+)=0 x31;/1/*(ptr+)=0 x39;/9/*(ptr+)=0 x32;/2/*(ptr+)=0X2E;/./*(ptr+)=0 x31;/1/*(ptr+)=0 x36;/6/*(ptr+)=0 x38;/
28、8/*(ptr+)=0 x2E;/./*(ptr+)=0 x31;/1/*(ptr+)=0 x2E;/./*(ptr+)=0 x31;/1/size+=48;/elseif(status=Wifi_NETP)/*(ptr+)=0 x4E;/*(ptr+)=0 x45;/E/*(ptr+)=0 x54;/T/*(ptr+)=0 x50;/P/*(ptr+)=0 x3D;/=/N TOC o 1-5 h z /*(ptr+)=0 x54;/T/*(ptr+)=0 x43;/C/*(ptr+)=0 x50;/P/*(ptr+)=0 x2C;/,/*(ptr+)=0 x43;/C/*(ptr+)=0
29、x4C;/L/*(ptr+)=0 x49;/I/*(ptr+)=0X45;/E/*(ptr+)=0 x4E;/N/*(ptr+)=0 x54;/T/*(ptr+)=0 x2C;/,/size+=16;/severport=(uint16)(SeverIPTemp0+SeverIPTemp1*256);/temp=severport%10000;/temp1=(severport/10000); TOC o 1-5 h z /*(ptr+)=0 x30|(temp1&0 x0f);/8/temp2=(temp%1000);/temp3=(temp/1000);/*(ptr+)=0 x30|(te
30、mp3&0 x0f);/8/temp=(temp2%100);/temp4=(temp2/100);/*(ptr+)=0 x30|(temp4&0 x0f);/8/temp2=(temp%10);/temp1=(temp/10);/*(ptr+)=0 x30|(temp1&0 x0f);/8/*(ptr+)=0 x30|(temp2&0 x0f);/8/ size+=5;/*(ptr+)=0 x2C;/,/temp=(SeverIPTemp5%100);/temp1=(SeverIPTemp5/100);/*(ptr+)=0 x30|(temp1&0 x0f);/8/temp2=(temp%1
31、0);/temp3=(temp/10);/*(ptr+)=0 x30|(temp3&0 x0f);/8/*(ptr+)=0 x30|(temp2&0 x0f);/8/*(ptr+)=0X2E;/./ size+=4;/temp=(SeverIPTemp4%100);/temp1=(SeverIPTemp4/100);/*(ptr+)=0 x30|(temp1&0 x0f);/8/temp2=(temp%10);/temp3=(temp/10);/*(ptr+)=0 x30|(temp3&0 x0f);/8/*(ptr+)=0 x30|(temp2&0 x0f);/8/*(ptr+)=0X2E;
32、/./ size+=4;/temp=(SeverIPTemp3%100);/temp1=(SeverIPTemp3/100); TOC o 1-5 h z /*(ptr+)=0 x30|(temp1&0 x0f);/8/temp2=(temp%10);/temp3=(temp/10);/*(ptr+)=0 x30|(temp3&0 x0f);/8/*(ptr+)=0 x30|(temp2&0 x0f);/8/*(ptr+)=0X2E;/./ size+=4;/temp=(SeverIPTemp2%100);/temp1=(SeverIPTemp2/100); TOC o 1-5 h z /*(
33、ptr+)=0 x30|(temp1&0 x0f);/8/temp2=(temp%10);/temp3=(temp/10);/*(ptr+)=0 x30|(temp3&0 x0f);/8/*(ptr+)=0 x30|(temp2&0 x0f);/8/*(ptr+)=0X2E;/./ size+=3;/ elseif(status=Wifi_WSMAC)/*(ptr+)=0 x57;/W/*(ptr+)=0 x53;/S/*(ptr+)=0 x4D;/M/*(ptr+)=0 x41;/A/*(ptr+)=0 x43;/C/*(ptr+)=0 x3D;/=/*(ptr+)=0 x38;/8/*(p
34、tr+)=0 x38;/8/*(ptr+)=0 x38;/8/*(ptr+)=0 x38;/8/*(ptr+)=0 x2C;/,/1/2/3/4/5/6/7/8/*(ptr+)=0 x30|(CollectAddr0&0 x0f);/*(ptr+)=0 x30|(CollectAddr0&0 xf0)4);/*(ptr+)=0 x30|(CollectAddr1&0 x0f);/*(ptr+)=0 x30|(CollectAddr1&0 xf0)4);/*(ptr+)=0 x30|(CollectAddr2&0 x0f);/*(ptr+)=0 x30|(CollectAddr2&0 xf0)4
35、);/*(ptr+)=0 x30|(CollectAddr3&0 x0f);/*(ptr+)=0 x30|(CollectAddr3&0 xf0)4);/*(ptr+)=0 x39;/9/*(ptr+)=0 x41;/A/*(ptr+)=0 x42;/B/*(ptr+)=0 x43;/C/size+=23; )/ elseif(status=Wifi_TMODE)/AT+TMDOE ( TOC o 1-5 h z /*(ptr+)=0 x54;/T/*(ptr+)=0 x4D;/M/*(ptr+)=0 x44;/D/*(ptr+)=0 x4F;/O/*(ptr+)=0 x45;E/ size+
36、=5;)/elseif(status=Wifi_Reset)/AT+Z(/*(ptr+)=0 x5a;/z/ size+=1;/ WifiStatus=Wifi_INIT;/ /SetWifiUartParmFlag=VALID_FLAG;/SetWifi ParmFlag=O; )/ elseif(status=Wifi_WSLK)/AT+WSLK ( TOC o 1-5 h z /*(ptr+)=0 x57;/W/*(ptr+)=0 x53;S/*(ptr+)=0 x4C;/L/*(ptr+)=0 x4B;/K/ size+=4; )/ elseif(status=Wifi_ENTM)/A
37、T+ENTM ( TOC o 1-5 h z /*(ptr+)=0 x45;E/*(ptr+)=0 x4E;/N/*(ptr+)=0 x54;/T/*(ptr+)=0 x4D;/M/ size+=4;/WifiStatus=Wifi_INIT;/ SetWifiUartParmFlag=O;/WifiOnLinkFlag=VALID_FLAG; )/*(ptr+)=0 x0d;CR/*(ptr+)=0 x0a;/LF / size+=2;/ HandleWifiSendData(uint8*)&WifiSendBuf,size);/* * 定时查询处理Wifi 任务 HandleWifiLin
38、kTimer* */voidHandleWifiLinkTimer(void)/ 处理 Wifi 流程if(SetWifiParmFlag=VALID_FLAG)&(Channel_Timer_Limit=0) GPIO_SetBits(GPIOB,ResetTn);switch(WifiStatus)caseWifi_INIT:/ 先发 +memset(uint8*)&WifiSendBuf0,0 x2b,3);HandleWifiSendData(uint8*)&WifiSendBuf,1);Send2BTime+;if(Send2BTime2)Channel_Timer_Limit=10
39、0;Send2BTime=0;elseChannel_Timer_Limit=10;break;caseWifi_A:/ 再发 aWifiSendBuf0=0 x61;HandleWifiSendData(uint8*)&WifiSendBuf0,1);Channel_Timer_Limit=100;break;default:/ 开始发AT指令WifiATFrame(WifiStatus);Channel_Timer_Limit=100;break;/处理Wifi 串口模式elseif(SetWifiUartParmFlag=VALID_FLAG)&(Channel_Timer_Limit=
40、0) GPIO_SetBits(GPIOB,ResetTn);switch(WifiStatus)caseWifi_INIT:/ 先发 +if(WifiSendStartTime5)/SendGprsEnterFrame(3);WifiSendStartTime=0;Channel_Timer_Limit=200;WifiSendEnterNetFlag=VALID_FLAG; break;WifiSendEnterNetFlag=0;memset(uint8*)&WifiSendBuf0,0 x2b,3);HandleWifiSendData(uint8*)WifiSendBuf,1);Se
41、nd2BTime+;if(Send2BTime2)Channel_Timer_Limit=100;Send2BTime=0;WifiSendStartTime+;elseChannel_Timer_Limit=10;break;caseWifi_A:/ 再发 aif(WifiSendStartTime5)/SendGprsEnterFrame(3);WifiSendStartTime=0;Channel_Timer_Limit=200;WifiSendEnterNetFlag=VALID_FLAG; break;WifiSendBuf0=0 x61;HandleWifiSendData(uin
42、t8*)WifiSendBuf,1);Channel_Timer_Limit=100;WifiSendStartTime+;break;default:/ 开始发AT指令WifiATFrame(WifiStatus);Channel_Timer_Limit=50;break;/Channel_Timer_Limit=100;/*/*/*/*/*名称: HandleWifiData()功能:处理上行串口接收到的数据入口参数:出口参数:/* */voidHandleWifiData(void)/uint16DataLen;/GprsFrameType*pLCFrame;/if(SetWifiPar
43、mFlag=VALID_FLAG&WifiSendEnterNetFlag!=VALID_FLAG)/DataLen=GetWifiATData(); switch(WifiStatus) caseWifi_INIT:/if(WifiRecBuf0=0 x61)/WifiStatus=Wifi_A;/break;/caseWifi_A:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b)/if(SetWifiParmFlag!=0) WifiStatus=Wifi_STA;elseWifiStatus=Wifi_WSLK;brea
44、k;caseWifi_STA:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b)/WifiStatus=Wifi_WSSSID;Channel_Timer_Limit=0;break;caseWifi_WSSSID:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b)/WifiStatus=Wifi_WSKEY;Channel_Timer_Limit=0;break;caseWifi_WSKEY:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0
45、 x6f&WifiRecBuf2=0 x6b)/WifiStatus=Wifi_WANN;/Channel_Timer_Limit=0;/break;/caseWifi_WANN:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b)/WifiStatus=Wifi_NETP;/Channel_Timer_Limit=0;/break;/caseWifi_NETP:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b)/WifiStatus=Wifi_WSMAC;/Cha
46、nnel_Timer_Limit=0;/break;/caseWifi_WSMAC:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b)/WifiStatus=Wifi_TMODE;/Channel_Timer_Limit=0;/break;/caseWifi_TMODE:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b&WifiRecBuf 4=0 x74&WifiRecBuf5=0 x68)/SetWifiUartParmFlag=0;/WifiStatus=W
47、ifi_Reset;/WifiOnLinkFlag=VALID_FLAG;/ TOC o 1-5 h z /else/WifiStatus=Wifi_Reset;/SetWifiUartParmFlag=VALID_FLAG;/Channel_Timer_Limit=0;/break;/caseWifi_Reset:/SetWifiParmFlag=0;/break;/caseWifi_WSLK:/if(WifiRecBuf0=0 x2b&WifiRecBuf1=0 x6f&WifiRecBuf2=0 x6b)/WifiStatus=Wifi_ENTM;/break;/caseWifi_ENT
48、M:/SetWifiUartParmFlag=0;/WifiOnLinkFlag=VALID_FLAG;/WifiStatus=Wifi_INIT;/break;/default:/break;/else/if(UpTaskFrame.UpTaskFlag=VALID_FLAG)/return;/DataLen=GetWifiMode485Data();/if(DataLen=512) / return; TOC o 1-5 h z /if(CmpFrameIs(uint8*)&WifiRecBuf0)=OK)/ 判断数据帧格式(对集中器本身的命令)/UpTaskFrame.UpTaskFla
49、g=VALID_FLAG;/pLCFrame=(GprsFrameType*)WifiRecBuf;/HandleUpProtocolMain(pLCFrame,3);/处理数据帧/WifiOnLinkFlag=VALID_FLAG;/WifiStatus=Wifi_INIT;/SetWifiUartParmFlag=0;/*名称: HandleWifiData()功能:处理上行串口接收到的数据入口参数:出口参数:* */voidHandleWifiData(void)uint16DataLen;GprsFrameType*pLCFrame;if(SetWifiParmFlag=VALID_F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/HAEPCI 45-2022农田土壤重金属污染修复与管控方案编制规范
- T/CIE 207-2024Linux操作系统内核接口调用参考规范
- T/CAOE 47-2023大洋多金属结核资源量估算技术指南
- T/CSAE 465-2025乘用车智能底盘矢量控制及舒适加减速控制道路测试方法
- 2025-2026学年黑龙江省鸡西市初中数学九年级期末上册模考能力提升卷详细参考解析
- PHP 初级面试题及详细答案(真实企业版)
- 2026年教育系统后备干部笔试试题及答案
- PET-CT物理师专业考核试题及详细答案
- 闸阀制造工安全操作规程
- 电镀废水处理站膜系统化学清洗方案
- 2026年建筑安全员C证考试真题及答案
- 2026年纪检监察案件查办政策考试题及答案
- 2026年江苏省粮食集团有限责任公司人员招聘笔试备考题库及详细答案解析
- 2026年普法考试题目(+答案解析)
- 2026年秋新版道德与法治(道法)六年级上册全册分课时作业附答案
- 2025年县属国有企业招聘考试笔试试题(含答案)
- 可压缩流体管道阻力降计算表
- 分布式光伏发电系统建设规范
- 企业商业秘密保护技术应用调研报告
- 物业服务满意度调研问卷设计
- 《物业设备设施管理(第2版)》-第二章
评论
0/150
提交评论