1. 程式人生 > >2.14 正點原子ESP8266模塊的STA模式 調試3

2.14 正點原子ESP8266模塊的STA模式 調試3

重新 brush 0x0d 代碼 _cmd mode cif usm -s

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)

設置好前面的五項,可以通過網絡調試助手往模塊發送消息。

後面的兩項是,讓無線模塊發送消息到助手。

2.14 正點原子ESP8266模塊的STA模式 調試3