OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3852|回复: 3

请问单片机如何区分发送指令到esp8266模块后模块返回的数据和另一个建立了tcp连接的esp8266模块主动发来的数据?

[复制链接]

10

主题

20

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-3-31
在线时间
24 小时
发表于 2017-8-3 20:32:59 | 显示全部楼层 |阅读模式
1金钱
请问单片机如何区分发送指令到esp8266模块后模块返回的数据和另一个建立了tcp连接的esp8266模块主动发来的数据?
两个esp8266模块,一个连接到电脑通过串口调试助手设置成tcp server,另一个连接到单片机作为client,现在tcp连接已经建立,client主动向server发送数据也正确,但server主动向client发送的数据,单片机接收不到或者说区分不了发送指令到esp8266模块后模块返回的数据和另一个建立了tcp连接的esp8266模块主动发来的数据,通过调用watch window发现USART2_RX_BUFF最后一次是AT+CIPMODE=1\r\r\n\r\nOK\r\n,不是server发送给单片机的数据,说明单片机根本没接收到server的数据。[mw_shl_code=c,true]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=1\r\r\n\r\nOK\r\n")==0) LED0=0;
          else LED0=1;
                USART2_RX_STA=0;
  }
         
}[/mw_shl_code][mw_shl_code=c,true]void USART2_IRQHandler(void)
{
        u8 res;            
        if(USART2->SR&(1<<5))//&#189;óê&#213;μ&#189;êy&#190;Y
        {         
                res=USART2->DR;                          
                if((USART2_RX_STA&(1<<15))==0)                //&#187;1&#191;éò&#212;&#189;óê&#213;êy&#190;Y
                {
                        TIM4->CNT=0;                                                 //&#188;&#198;êy&#198;÷&#199;&#229;&#191;&#213;
                        if(USART2_RX_STA==0)TIM4_Set(1);                 //ê1&#196;ü&#182;¨ê±&#198;÷4μ&#196;&#214;D&#182;&#207;
                        USART2_RX_BUF[USART2_RX_STA++]=res;                //&#188;&#199;&#194;&#188;&#189;óê&#213;μ&#189;μ&#196;&#214;μ         
                }else
                {
                        USART2_RX_STA|=1<<15;                                        //&#199;&#191;&#214;&#198;±ê&#188;&#199;&#189;óê&#213;íê3é
                }
        }                                                                                          
}[/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

20

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-3-31
在线时间
24 小时
 楼主| 发表于 2017-8-3 20:33:33 | 显示全部楼层
回复

使用道具 举报

10

主题

20

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2017-3-31
在线时间
24 小时
 楼主| 发表于 2017-8-5 20:50:41 | 显示全部楼层
顶顶顶
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-8-7 01:16:05 | 显示全部楼层
帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 05:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表