2.14 正点原子ESP8266模块的STA模式 调试3

1.重新了解了usart串口的代码(这里用usart1代码为例)

USART1_IRQHandler(串口1中断函数代码)

if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //接收中断(接收到的数据必须是0x0d 0x0a结尾)
		{
		Res =USART_ReceiveData(USART1);	//读取接收到的数据
		
		if((USART_RX_STA&0x8000)==0)//接收未完成
			{
			if(USART_RX_STA&0x4000)//接收到了0x0d
				{
				if(Res!=0x0a)USART_RX_STA=0;//接收错误,重新开始
				else USART_RX_STA|=0x8000;	//接收完成了 
				}
			else //还没收到0X0D
				{	
				if(Res==0x0d)USART_RX_STA|=0x4000;
				else
					{
					USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
					USART_RX_STA++;
					if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//接收数据错误,重新开始接收	  
					}		 
				}
			}   	

 

此代码解析参考网站http://blog.sina.com.cn/s/blog_776077610102vgqg.html

个人理解:这个代码就是以第14位(0-15)是否收到0x0d为为分界线。

 

2.AT指令  调试ESP8266模块的ATP模式  TCP客户端

usmart调试 (atk_8266_send_cmd(u8 *cmd,u8 *ack,u16 waittime))

1.atk_8266_send_cmd("AT+CWMODE=1","OK",50)

2.atk_8266_send_cmd("AT+RST","OK",50)

3.atk_8266_send_cmd("AT+CWJAP=\"SSID\",\"password\"","OK",300)  (转义序列)

4.atk_8266_send_cmd("AT+CIFSR","OK",50)

5.atk_8266_send_cmd("AT+CIPSTART=\"TCP\",\"ip\",8086","OK",200)

6.atk_8266_send_cmd("AT+CIPSEND=0,25","OK",200)

7.atk_8266_send_data(“发送的东西”,"OK",100)     

设置好前面的五项,可以通过网络调试助手往模块发送消息。

后面的两项是,让无线模块发送消息到助手。

 

 

 

posted @ 2018-02-14 20:46  L、jc  阅读(2055)  评论(0编辑  收藏  举报