MFC tcpclient客户端与STM32F1精英版+ATK-ESP8266+WIFI通讯控制

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

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值