STM32 F1 插上

AP模式,服务器:
u16 esp8266_start_trans(void)
{
u8 aaa=0;
if(esp8266_send_cmd("AT","OK",50)==1)//检查WIFI模块是否在线
aaa=1;
esp8266_quit_trans(); //退出透传
if(esp8266_send_cmd("AT+CWMODE=2","OK",50)==1)//AP模式
aaa=4;
if(esp8266_send_cmd("AT+RST","OK",200)==1)//重启wifi
aaa=5;
delay_ms(2000);//延时2s等待模块重启
if(esp8266_send_cmd("AT+CWSAP=\"WifiTes\",\"12345678\",1,4","OK",1000)==1)//配置模块AP模式无线参数
aaa=9;
if(esp8266_send_cmd("AT+CIFSR","APIP",20)==1) //检测是否获得AP IP
return 6;
if(esp8266_send_cmd("AT+CIPMUX=1","OK",50)==1)//多连接
aaa= 7;
delay_ms(500);
if(esp8266_send_cmd("AT+CIPSERVER=1,8086","OK",20)==1)//开启Server模式,端口号为8086,IP:192.168.4.1
aaa= 8;
delay_ms(500);
return aaa;
}
接收WIFI代码:
数字字符[1/2/3/4]转换为整数[49/50/51/52],u8 aw[4]={49,50,51,52};
if(USART3_RX_STA&(1<<15)) //接收到数据
{
LCD_ShowString(10,160,210,12,12,"wifiRec");
rlen=USART3_RX_STA&0X7FFF; //得到本次接收到的数据长度
USART3_RX_BUF[rlen]=0; //添加结束符
printf("%s",USART3_RX_BUF); //发送到串口
//sprintf((char*)p,"re%dbyte",rlen);//接收到的字节数
LCD_Fill(10,200,239,319,WHITE);
POINT_COLOR=BLUE;
//void LCD_ShowxNum(u16 x,u16 y,u32 num,u8 len,u8 size,u8 mode)
LCD_ShowxNum(10,180,rlen,12,12,0);
POINT_COLOR=BLUE;
if(USART3_RX_BUF[rlen-1]==aw[0])
LED0=!LED0;
LCD_ShowxNum(10,220,USART3_RX_BUF[rlen-1],12,12,0);
// for(aaa=0;aaa<rlen;aaa++)
// LCD_ShowxNum(10+aaa*4,200,USART3_RX_BUF[aaa],12,12,0);
flag = 1;//标志接收到数据
USART3_RX_STA=0;
}
完整代码:https://download.youkuaiyun.com/download/JanKin_BY/12331268
TCP客户端界面

按前后左右会发出,1234
void CMy02_TCPClientDlg::OnBnClickedButton51()
{
// TODO: 在此添加控件通知处理程序代码
CString aaaa ;
aaaa = _T("1");
USES_CONVERSION;
char * send1 = T2A(aaaa);
m_connSocket.Send(send1, strlen(send1));
}
void CMy02_TCPClientDlg::OnBnClickedButton6()
{
// TODO: 在此添加控件通知处理程序代码
CString aaaa;
aaaa = _T("3");
USES_CONVERSION;
char * send1 = T2A(aaaa);
m_connSocket.Send(send1, strlen(send1));
}
void CMy02_TCPClientDlg::OnBnClickedButton7()
{
// TODO: 在此添加控件通知处理程序代码
CString aaaa;
aaaa = _T("2");
USES_CONVERSION;
char * send1 = T2A(aaaa);
m_connSocket.Send(send1, strlen(send1));
}
void CMy02_TCPClientDlg::OnBnClickedButton8()
{
// TODO: 在此添加控件通知处理程序代码
CString aaaa;
aaaa = _T("4");
USES_CONVERSION;
char * send1 = T2A(aaaa);
m_connSocket.Send(send1, strlen(send1));
}
完整程序代码:
https://download.youkuaiyun.com/download/JanKin_BY/12331283
STM32烧录程序:
STM32 PB5连接LED接地,不接也可以,板载有两个LED,当点击前按钮,按一下灭,再按会亮,如此循环

电脑连接WiFiTes 密码:12345678
上边是接收数据的长度,按前:49

按后:51

发送数据"1",也可实现灯的控制

按STM32上的KEY1会服务端向客户端发送数据:PC45

本文详细介绍了如何使用STM32微控制器通过ESP8266 WiFi模块设置AP模式,并实现数据收发功能。文中提供了完整的代码示例,包括STM32与ESP8266的初始化、AP模式配置、服务器设置以及数据接收处理等关键步骤。
2893

被折叠的 条评论
为什么被折叠?



