久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
分享一波ESP8266純透傳模式源碼(無顯示屏)
[打印本頁]
作者:
電子心
時間:
2017-8-21 16:48
標題:
分享一波ESP8266純透傳模式源碼(無顯示屏)
源碼分享,適用于正點原子MINI板和正點原子esp8266,無顯示屏,直接接收
(庫函數版本,適合MiniSTM32開發板)擴展實驗13 ATK-ESP8266WIFI模塊實驗
所有資料51hei提供下載:
ESP8266純透傳模式(無顯示屏).rar
(1013.21 KB, 下載次數: 250)
2017-8-21 18:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
單片機源程序如下:
#include "common.h"
///////////////////////////////////////////////////////////////////////////////////////////////////////////
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//ALIENTEK STM32開發板
//ATK-ESP8266 AP+STA模式驅動代碼
///////////////////////////////////////////////////////////////////////////////////////////////////////////
//ATK-ESP8266 AP+STA模式測試
//用于測試TCP/UDP連接
//返回值:0,正常
// 其他,錯誤代碼
u8 atk_8266_apsta_test(void)
{
u8 netpro;
u8 key=0;
u8 timex=0;
u8 ipbuf[16]; //IP緩存
u8 *p;
u16 t=999; //加速第一次獲取鏈接狀態
u8 res=0;
u16 rlen=0;
u8 constate=0; //連接狀態
p=mymalloc(32); //申請32字節內存
atk_8266_send_cmd("AT+CWMODE=3","OK",50); //設置WIFI AP+STA模式
// atk_8266_send_cmd("AT+RST","OK",20); //重啟模塊
// delay_ms(1000); //延時2S等待重啟成功
// delay_ms(1000);
// delay_ms(1000);
//設置模塊AP模式的WIFI網絡名稱/加密方式/密碼,這幾個參數看自己喜好設置
sprintf((char*)p,"AT+CWSAP=\"%s\",\"%s\",1,4",wifiap_ssid,wifiap_password);//設置無線參數:ssid,密碼
atk_8266_send_cmd(p,"OK",1000); //設置AP模式參數
//設置連接到的WIFI網絡名稱/加密方式/密碼,這幾個參數需要根據您自己的路由器設置進行修改!!
sprintf((char*)p,"AT+CWJAP=\"%s\",\"%s\"",wifista_ssid,wifista_password);//設置無線參數:ssid,密碼
atk_8266_send_cmd(p,"WIFI GOT IP",1000); //連接目標路由器,并獲得IP
while(atk_8266_send_cmd("AT+CIFSR","STAIP",20)); //檢測是否獲得STA IP
while(atk_8266_send_cmd("AT+CIFSR","APIP",20)); //檢測是否獲得AP IP
// while((atk_8266_consta_check()-'2')); //獲得IP
LCD_Clear(WHITE);
POINT_COLOR=RED;
Show_Str(30,30,200,16,"ATK-ESP AP+STA模式測試",16,0);
atk_8266_send_cmd("AT+CIPMUX=1","OK",50); //0:單連接,1:多連接
delay_ms(500);
sprintf((char*)p,"AT+CIPSERVER=1,%s",(u8*)portnum);
atk_8266_send_cmd(p,"OK",50); //開啟Server模式,端口號為8086
delay_ms(500);
atk_8266_send_cmd("AT+CIPSTO=1200","OK",50); //設置服務器超時時間
PRESTA:
netpro=atk_8266_netpro_sel(50,30,(u8*)ATK_ESP8266_CWMODE_TBL[0]); //AP+STA模式網絡模式選擇
if(netpro&0X02) //STA UDP
{
LCD_Clear(WHITE);
POINT_COLOR=RED;
Show_Str_Mid(0,30,"ATK-ESP WIFI-STA測試",16,240);
Show_Str(30,50,200,16,"正在配置ATK-ESP模塊,請稍等...",12,0);
if(atk_8266_ip_set("WIFI-STA遠端UDP IP設置","UDP模式",(u8*)portnum,ipbuf))goto PRESTA; //IP輸入
sprintf((char*)p,"AT+CIPSTART=0,\"UDP\",\"%s\",%s",ipbuf,(u8*)portnum); //配置目標UDP服務器,及ID號,STA模式下為0
LCD_Clear(WHITE);
Show_Str_Mid(0,30,"ATK-ESP WIFI-STA測試",16,240);
Show_Str(30,50,200,16,"正在配置ATK-ESP模塊,請稍等...",12,0);
atk_8266_send_cmd(p,"OK",200);
netpro=atk_8266_mode_cofig(netpro); //AP模式網絡模式配置
}
else //TCP
{
if(netpro&0X01) //STA TCP Client
{
LCD_Clear(WHITE);
POINT_COLOR=RED;
Show_Str_Mid(0,30,"ATK-ESP WIFI-STA 測試",16,240);
Show_Str(30,50,200,16,"正在配置ATK-ESP模塊,請稍等...",12,0);
if(atk_8266_ip_set("WIFI-STA 遠端IP設置",(u8*)ATK_ESP8266_WORKMODE_TBL[netpro],(u8*)portnum,ipbuf))goto PRESTA; //IP輸入
sprintf((char*)p,"AT+CIPSTART=0,\"TCP\",\"%s\",%s",ipbuf,(u8*)portnum); //配置目標TCP服務器,及ID號,STA模式下為0
while(atk_8266_send_cmd(p,"OK",200))
{
LCD_Clear(WHITE);
POINT_COLOR=RED;
Show_Str_Mid(0,40,"WK_UP:返回重選",16,240);
Show_Str(30,80,200,12,"ATK-ESP 連接UDP失敗",12,0); //連接失敗
key=KEY_Scan(0);
if(key==WKUP_PRES)goto PRESTA;
}
netpro=atk_8266_mode_cofig(netpro); //AP模式網絡模式配置
}
else netpro=atk_8266_mode_cofig(netpro); //TCP SERVER不用配置
}
LCD_Clear(WHITE);
POINT_COLOR=RED;
Show_Str_Mid(0,30,"ATK-ESP WIFI-STA+AP 測試",16,240);
Show_Str(15,50,200,16,"正在配置ATK-ESP模塊,請稍等...",12,0);
LCD_Fill(15,50,239,50+12,WHITE); //清除之前的顯示
Show_Str_Mid(0,50,"WK_UP:退出 KEY0:ID0發送 KEY1:ID1發送",12,240);
LCD_Fill(15,80,239,80+12,WHITE);
atk_8266_get_ip(15,65);//STA+AP模式,獲取 IP,并顯示
Show_Str(15,95,200,12,"連接狀態:",12,0); //連接狀態
Show_Str(15,110,200,12,"STA模式:",12,0); //STA連接狀態
Show_Str(120+15,110,200,12,"AP模式:",12,0); //AP連接狀態
Show_Str(15,125,200,12,"發送數據:",12,0); //發送數據
Show_Str(15,140,200,12,"接收數據:",12,0); //接收數據
atk_8266_wificonf_show(15,195,"請設置路由器無線參數為:",(u8*)wifista_ssid,(u8*)wifista_encryption,(u8*)wifista_password);
POINT_COLOR=BLUE;
Show_Str(48+15,110,200,12,(u8*)ATK_ESP8266_WORKMODE_TBL[netpro&0X03],12,0); //STA連接狀態
Show_Str(162+15,110,200,12,(u8*)ATK_ESP8266_WORKMODE_TBL[netpro>>4],12,0); //AP連接狀態
USART2_RX_STA=0;
while(1)
{
key=KEY_Scan(0);
if(key==WKUP_PRES) //WK_UP 退出測試
{
res=0;
break;
}
else if(key==KEY0_PRES) //KEY0 向ID0發送數據
{
sprintf((char*)p,"ATK-8266模塊ID0發數據%02d\r\n",t/10);//測試數據
Show_Str(15+54,125,200,12,p,12,0);
atk_8266_send_cmd("AT+CIPSEND=0,25","OK",200); //發送指定長度的數據
delay_ms(200);
atk_8266_send_data(p,"OK",100); //發送指定長度的數據
timex=100;
}
else if(key==KEY1_PRES) //KEY1 向ID1發送數據
{
sprintf((char*)p,"ATK-8266模塊ID1發數據%02d\r\n",t/10);//測試數據
Show_Str(15+54,125,200,12,p,12,0);
atk_8266_send_cmd("AT+CIPSEND=1,25","OK",200); //發送指定長度的數據
delay_ms(200);
atk_8266_send_data(p,"OK",100); //發送指定長度的數據
timex=100;
}
if(timex)timex--;
if(timex==1)LCD_Fill(30+54,125,239,122,WHITE);
t++;
delay_ms(10);
if(USART2_RX_STA&0X8000) //接收到一次數據了
{
rlen=USART2_RX_STA&0X7FFF; //得到本次接收到的數據長度
USART2_RX_BUF[rlen]=0; //添加結束符
printf("%s",USART2_RX_BUF); //發送到串口
sprintf((char*)p,"收到%d字節,內容如下",rlen);//接收到的字節數
LCD_Fill(15+54,140,239,130,WHITE);
POINT_COLOR=BRED;
Show_Str(15+54,140,156,12,p,12,0); //顯示接收到的數據長度
POINT_COLOR=BLUE;
LCD_Fill(15,155,239,319,WHITE);
Show_Str(15,155,180,190,USART2_RX_BUF,12,0);//顯示接收到的數據
USART2_RX_STA=0;
if(constate!='+')t=1000; //狀態為還未連接,立即更新連接狀態
else t=0; //狀態為已經連接了,10秒后再檢查
}
if(t==1000)//連續10秒鐘沒有收到任何數據,檢查連接是不是還存在.
{
LCD_Fill(15+54,125,239,138,WHITE);
// LCD_Fill(15+54,95,120,110,WHITE);
constate=atk_8266_consta_check();//得到連接狀態
if(constate=='+')Show_Str(15+54,95,200,12,"連接成功",12,0); //連接狀態
else Show_Str(15+54,95,200,12,"連接失敗",12,0);
t=0;
}
if((t%20)==0)LED0=!LED0;
atk_8266_at_response(1);
}
myfree(p); //釋放內存
return res;
}
復制代碼
作者:
happy87
時間:
2017-9-4 16:22
非常感謝
作者:
pokmnjikm
時間:
2017-9-12 17:10
好啊紅啊紅啊
作者:
halxo
時間:
2017-11-28 16:04
謝謝樓主分享
作者:
halxo
時間:
2017-11-28 17:47
程序改的一般我試了沒啥反映,我也改過只剩ap模式帶顯示,可以持續發送數據,就是會多幾個字符很煩人。
作者:
lxd0cat
時間:
2018-10-26 11:45
好人一生平安
作者:
shilxjxj
時間:
2019-3-4 09:39
十分感謝,正好需要!!
作者:
流星雨掉到地球
時間:
2019-3-4 16:09
謝謝分享
作者:
dasjkf
時間:
2019-7-13 14:16
我想問在AP模式,開啟服務器模式已經就無法開透傳模式,那怎么傳送數據?通過串口?
作者:
藥醬啊
時間:
2019-7-15 08:32
問一下傳的是什么數據,電腦上數據傳到哪了
作者:
藥醬啊
時間:
2019-7-15 08:34
還有為什么用到了串口??
作者:
意1
時間:
2019-7-30 17:09
非常感謝
作者:
kalmira
時間:
2020-4-12 22:50
十分感謝
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品五月天
|
欧美日韩在线不卡
|
国产真实精品久久二三区
|
国产精品日韩在线观看一区二区
|
精品中文字幕久久
|
成人欧美一区二区三区白人
|
成人小视频在线观看
|
精品av久久久久电影
|
久久久久国产一区二区三区
|
国产激情片在线观看
|
精品久久一
|
在线观看成年视频
|
亚洲国产成人精品久久久国产成人一区
|
亚洲自拍偷拍欧美
|
美女视频三区
|
久久蜜桃精品
|
欧洲性生活视频
|
干狠狠
|
欧美日韩在线观看一区
|
亚洲一区二区精品视频在线观看
|
一本一道久久a久久精品蜜桃
|
国产精成人
|
韩国精品在线
|
黄色在线观看国产
|
欧美二区在线
|
四季久久免费一区二区三区四区
|
伊人春色成人
|
欧美综合一区二区
|
欧美 日韩 综合
|
亚洲另类视频
|
性色av香蕉一区二区
|
一级二级三级黄色
|
欧美狠狠操
|
欧美黄色精品
|
日韩精品在线一区二区
|
欧美性大战xxxxx久久久
|
欧美极品少妇xxxxⅹ免费视频
|
精品欧美激情精品一区
|
麻豆久久久久
|
米奇狠狠鲁
|
国产做a爱免费视频
|