完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请问单片机如何区分发送指令到esp8266模块后模块返回的数据和另一个建立了tcp连接的esp8266模块主动发来的数据?
两个esp8266模块,一个连接到电脑通过串口调试助手设置成tcp server,另一个连接到单片机作为client,现在tcp连接已经建立,client主动向server发送数据也正确,但server主动向client发送的数据,单片机接收不到或者说区分不了发送指令到esp8266模块后模块返回的数据和另一个建立了tcp连接的esp8266模块主动发来的数据,通过调用watch window发现USART2_RX_BUFF最后一次是AT+CIPMODE=1rrnrnOKrn,不是server发送给单片机的数据,说明单片机根本没接收到server的数据。[C] 纯文本查看 复制代码 void atk_8266_init(void){ u8 ipbuf[32]="192.168.4.1"; //IP»o′æ u8 *p; u8 res=0; u16 rlen=0; p=mymalloc(32); //éêÇë32×Ö½úÄú′æ atk_8266_send_cmd("AT+CWMODE=1","OK",50); //éèÖÃWIFI STAÄ£ê½ atk_8266_send_cmd("AT+RST","OK",50); //DHCP·tÎñÆ÷1رÕ(½öAPÄ£ê½óDD§) //delay_ms(1000); //Ñóê±4Sμè′yÖØÆô3é1| //delay_ms(1000); //delay_ms(1000); //delay_ms(1000); //éèÖÃᬽóμ½μÄWIFIíøÂçÃû3Æ/¼óÃü·½ê½/ÃüÂë,Õa¼¸¸ö2ÎêyDèòa¸ù¾YÄú×Ô¼oμÄ·óéÆ÷éèÖýøDDDT¸Ä!! sprintf((char*)p,"AT+CWJAP="%s","%s"",wifista_ssid,wifista_password);//éèÖÃÎTÏß2Îêy:ssid,ÃüÂë while(atk_8266_send_cmd(p,"WIFI GOT IP",300)); //ᬽóÄ¿±ê·óéÆ÷,2¢Çò»ñμÃIP atk_8266_send_cmd("AT+CIPMUX=0","OK",50); //0£oμ¥ᬽó£¬1£o¶àᬽó sprintf((char*)p,"AT+CIPSTART="TCP","%s",%s",ipbuf,(u8*)portnum); //ÅäÖÃÄ¿±êTCP·tÎñÆ÷ while(atk_8266_send_cmd(p,"OK",200)); atk_8266_send_cmd("AT+CIPMODE=1","OK",200); //′«êäÄ£ê½Îa£oí¸′« //atk_8266_send_cmd("AT+CIPSEND","OK",20); //¿aê¼í¸′« //atk_8266_send_cmd("FF00FF","",20); //¿aê¼í¸′« if(USART2_RX_STA&0X8000) //½óêÕμ½ò»′Îêy¾YáË { rlen=USART2_RX_STA&0X7FFF; //μÃμ½±¾′νóêÕμ½μÄêy¾Y3¤¶è USART2_RX_BUF[rlen]=0; //ìí¼ó½áêø·û //printf("%s",USART2_RX_BUF); //·¢Ëíμ½′®¿ú UART_PutStr(USART1,(uint8_t*)USART2_RX_BUF); if(strcmp((char*)USART2_RX_BUF,"AT+CIPMODE=1rrnrnOKrn")==0) LED0=0; else LED0=1; USART2_RX_STA=0; } }[C] 纯文本查看 复制代码 void USART2_IRQHandler(void){ u8 res; if(USART2->SR&(1<<5))//½óêÕμ½êy¾Y { res=USART2->DR; if((USART2_RX_STA&(1<<15))==0) //»1¿éòÔ½óêÕêy¾Y { tiM4->CNT=0; //¼ÆêyÆ÷Çå¿Õ if(USART2_RX_STA==0)TIM4_Set(1); //ê1Äü¶¨ê±Æ÷4μÄÖD¶Ï USART2_RX_BUF[USART2_RX_STA++]=res; //¼Ç¼½óêÕμ½μÄÖμ }else { USART2_RX_STA|=1<<15; //Ç¿ÖƱê¼Ç½óêÕíê3é } } } |
|
相关推荐
3个回答
|
|
@发烧友
|
|
|
|
顶顶顶
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
7298 浏览 9 评论
2407 浏览 2 评论
为什么我用esp8266做TCP服务器网络调试助手一直连接不上去?
9488 浏览 3 评论
为什么我的ESP8266 AT指令一直返回error无法正常使用?
7296 浏览 0 评论
4152 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 22:35 , Processed in 0.627543 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号