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.csdn.net/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.csdn.net/download/JanKin_BY/12331283
STM32烧录程序:
STM32 PB5连接LED接地,不接也可以,板载有两个LED,当点击前按钮,按一下灭,再按会亮,如此循环
电脑连接WiFiTes 密码:12345678
上边是接收数据的长度,按前:49
按后:51
发送数据"1",也可实现灯的控制
按STM32上的KEY1会服务端向客户端发送数据:PC45