`
void WIFI_STA_Init(void)
{
char p[100]={0};
//检查WIFI模块是否在线
while(atk_8266_send_cmd((u8 *)"AT",(u8 *)"OK",20))
{
//退出透传
atk_8266_quit_trans();
//关闭透传模式
atk_8266_send_cmd((u8 *)"AT+CIPMODE=0",(u8 *)"OK",200);
delay_ms(500);
printf("WIFI_STA_Initing.....\r\n");
}
//关闭回显
while(atk_8266_send_cmd((u8 *)"ATE0",(u8 *)"OK",20));
// //检查ATK-ESP8266模块发送过来的数据,及时上传给电脑(收到一帧数据后)
// atk_8266_response(1);
if(atk_8266_send_cmd((u8 *)"AT+CIPSTATUS",(u8 *)"STATUS:3",20)) //模块处在建立连接的状态
{
printf("esp8266 STA has configed\r\n");
//设置透传模式
atk_8266_send_cmd((u8 *)"AT+CIPMODE=1",(u8 *)"OK",200);
//开始透传
atk_8266_send_cmd((u8 *)"AT+CIPSEND",(u8 *)"OK",20);
WIFI_RX_STA=0;
return ;
}
//设置WIFI STA模式
atk_8266_send_cmd((u8 *)"AT+CWMODE=1",(u8 *)"OK",50);
//DHCP服务器关闭(仅AP模式有效)
atk_8266_send_cmd((u8 *)"AT+RST",(u8 *)"OK",20);
delay_ms(1000); //延时2S等待重启成功
delay_ms(1000);
//LED0 = LED_ON;
//设置无线热点参数:[ssid] [密码] x //连接路由
sprintf(p,"AT+CWJAP=\"%s\",\"%s\"",WIFI_STA_SSID,WIFI_STA_PASSWORD);
while(atk_8266_send_cmd((u8 *)p,"WIFI GOT IP",300));
//LED1 = LED_ON;
//设置TCP连接为单连接 [0]单连接 [1]多连接
atk_8266_send_cmd((u8 *)"AT+CIPMUX=0",(u8 *)"OK",20);
delay_ms(800);
//连接TCP服务器
sprintf(p,"AT+CIPSTART=\"TCP\",\"%s\",%s",WIFI_SERVER_IP,WIFI_SERVER_PORT);
while(atk_8266_send_cmd((u8 *)p,(u8 *)"OK",200));
//LED0 = LED_OFF;
//LED1 = LED_OFF;
//设置透传模式
atk_8266_send_cmd((u8 *)"AT+CIPMODE=1",(u8 *)"OK",200);
//开始透传
if(!atk_8266_send_cmd((u8 *)"AT+CIPSEND",(u8 *)"OK",20))
printf("esp8266 STA config success\r\n");
WIFI_RX_STA=0;
}
`链接:https://pan.baidu.com/s/1avuUEcafL_mxohRWJD-5mw
提取码:il7p
–来自百度网盘超级会员V4的分享