資源簡介
stm32-esp8266客戶端驅動,用于其它模式,也比較容易修改。

代碼片段和文件信息
#include?“esp8266wifi.h“
?u8?wifi_name[20] =“HES_WIFI“;
?u8?wifi_pass[20] =“yanjiaqiao1!“;
?u8?wifi_ip[32] =“192.168.0.105“;
?u8?wifi_port[6] =“8888“;
u8?esp8266_init()
{
//設置成配置模式
set_config_mode();
//測試AT
if(test_at())
{
#if?ESP8266_LOG
printf(“esp8266硬件?正常\r\n“);
#endif
}
else
{
#if?ESP8266_LOG
printf(“esp8266硬件?異常\r\n“);
printf(“嘗試關閉透傳...\r\n“);
#endif
close_tran();
}
//關回顯
if(close_huixian())
{
#if?ESP8266_LOG
printf(“關閉esp8266回顯?正常\r\n“);
#endif
}
else
{
#if?ESP8266_LOG
printf(“關閉esp8266回顯?異常\r\n“);
#endif
}
//設置成客戶端
if(set_client())
{
#if?ESP8266_LOG
printf(“設置成客戶端?正常\r\n“);
#endif
}
else
{
#if?ESP8266_LOG
printf(“設置成客戶端?異常\r\n“);
#endif
}
//判斷是否連接到路由器 is_connect_ap
if(is_connect_ap())
{
#if?ESP8266_LOG
printf(“連接路由器?正常\r\n“);
#endif
}
else //如果沒有連接路由器,則去連接
{
#if?ESP8266_LOG
printf(“連接路由器?異常\r\n“);
printf(“嘗試連接路由器...\r\n“);
#endif
if(connect_ap())
{
#if?ESP8266_LOG
printf(“連接路由器?正常\r\n“);
#endif
aotu_connect_ap();
}
else
{
#if?ESP8266_LOG
printf(“連接路由器?異常\r\n“);
#endif
}
}
//連接到服務器
if(connect_server())
{
#if?ESP8266_LOG
printf(“連接服務器?正常\r\n“);
#endif
}
else
{
#if?ESP8266_LOG
printf(“連接服務器?異常\r\n“);
printf(“嘗試關閉連接服務器,重新連接...\r\n“);
#endif
if(disconnect_server())
{
#if?ESP8266_LOG
printf(“關閉連接服務器?正常\r\n“);
#endif
//連接到服務器
if(connect_server())
{
#if?ESP8266_LOG
printf(“重新連接服務器?正常\r\n“);
#endif
}
else
{
#if?ESP8266_LOG
printf(“連接服務器?異常\r\n“);
#endif
}
}
else
{
#if?ESP8266_LOG
printf(“關閉連接服務器?異常\r\n“);
#endif
}
}
//設置透傳模式1
if(set_mode1())
{
#if?ESP8266_LOG
printf(“設置透傳模式1?正常\r\n“);
#endif
}
else
{
#if?ESP8266_LOG
printf(“設置透傳模式1?異常\r\n“);
#endif
}
//開始透傳
if(start_tran())
{
#if?ESP8266_LOG
printf(“開始透傳?正常\r\n“);
#endif
//設置成配置模式
set_tran_mode();
}
else
{
#if?ESP8266_LOG
printf(“開始透傳?異常\r\n“);
#endif
return?0;
}
return?1;
}
//測試AT指令,確保連接和芯片正常
u8?test_at()
{
return? send_cmd_wait((u8*)“AT\r\n“45);
}
//關閉回顯
u8?close_huixian()
{
return?send_cmd_wait((u8*)“ATE0\r\n“65);
}
//設置成客戶端
u8?set_client()
{
return?send_cmd_wait((u8*)“AT+CWMODE=1\r\n“1310);
}
//判斷是否連接路由器
u8?is_connect_ap()
{
serial2_sned_buff((u8*)“AT+CIPSTATUS\r\n“14);
delay_ms(10);
if(find_quq_del(AP2))
{
return?1;
}
if(find_quq_del(AP3))
{
return?1;
}
return?0;
}
//設置自動連接路由器
u8?aotu_connect_ap()
{
return?send_cmd_wait((u8*)“AT+CWAUTOCONN=1\r\n“1710);
}
//連接到路由器
u8?connect_ap()
{
//AT+CWJAP=“HES_WIFI““yanjiaqiao1!“
u8?cmd[50];
sprintf((char*)cmd“AT+CWJAP=\“%s\“\“%s\“\r\n“wifi_namewifi_pass);
serial2_sned_buff(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5265??2018-09-20?10:23??wifi\esp8266wifi.c
?????文件???????1483??2018-09-18?12:51??wifi\esp8266wifi.h
?????文件????????895??2018-09-17?16:22??wifi\serial_config.c
?????文件????????610??2018-09-17?16:52??wifi\serial_config.h
?????文件???????1665??2018-09-19?16:37??wifi\uart.c
?????文件????????806??2018-09-18?17:34??wifi\uart.h
?????目錄??????????0??2018-09-20?10:23??wifi
-----------?---------??----------?-----??----
????????????????10724????????????????????7
評論
共有 條評論