OpenEdv-开源电子网

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

用ESP8266WIFI模块做局域网

[复制链接]

6

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2016-4-12
在线时间
97 小时
发表于 2016-10-21 21:25:52 | 显示全部楼层 |阅读模式
30金钱
用ESP8266WIFI模块做局域网 ,手机连接控制,手机成功发送信息后,32这边接收总是判断错误,进行不了下一部分

串口接受到的手机发送的信息

串口接受到的手机发送的信息

最佳答案

查看完整内容[请看2#楼]

把你收到的原始数据打印出来,看看原始数据是否正常。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-10-21 21:25:53 | 显示全部楼层
过眼烟云 发表于 2016-10-21 21:29
这是我32程序里判断接受信息  但是我测试发现
               if( RX1_Cnt > 0)
                {                         

把你收到的原始数据打印出来,看看原始数据是否正常。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2016-4-12
在线时间
97 小时
 楼主| 发表于 2016-10-21 21:28:02 | 显示全部楼层
void USART1_IRQHandler(void)
{
          u8 res;
//           while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET);
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //½óêÕÖD¶Ï(½óêÕμ½μÄêy¾Y±ØDëêÇ0x0d 0x0a½áÎ2)
        {
                res =USART_ReceiveData(USART1);//(USART1->DR);        //¶á衽óêÕμ½μÄêy¾Y
                if( RX1_Cnt > 0)
                {                         
                        RX1_Buffer[RX1_Cnt] = res;
                        RX1_Cnt++;
                }
                else if (res ==0x45)
                {
                                RX1_Buffer[0] = res;
                          RX1_Cnt = 1;
                }
               
                if(RX1_Cnt >= 10)
                {
               
                        if(RX1_Buffer[0]==0x45&&RX1_Buffer[1]==0x53&&RX1_Buffer[2]==0x50)
                        {
                                       
                                if(RX1_Buffer[4]==0x4C&&RX1_Buffer[5]==0x45&&RX1_Buffer[6]==0x44)
                                {
                                        if(RX1_Buffer[7]==0x31)   
                                        {

                                                if(RX1_Buffer[3]==0x4B)  //éÏ
                                                {
                                                       
                                                        KeyNum=0;
                                                }
                                                if(RX1_Buffer[3]==0x47)  //ÏÂ
                                                {
                                                        KeyNum=1;
                                                }
                                        }
                                        if(RX1_Buffer[7]==0x32)
                                        {
                                                if(RX1_Buffer[3]==0x4B)  //×ó
                                                {
                                                        KeyNum=2;
                                                }
                                                if(RX1_Buffer[3]==0x47)  //óò
                                                {
                                                        KeyNum=3;
                                                }
                                        }
                                        if(RX1_Buffer[7]==0x33)
                                        {
                                                if(RX1_Buffer[3]==0x4B)  //è·èÏ
                                                {
                                                        KeyNum=4;
                                                }
                                                if(RX1_Buffer[3]==0x47)  //·μ»Ø
                                                {
                                                        KeyNum=5;
                                                }
                                        }
                                }
                        }
                                RX1_Cnt=0;
                }
                else
                {
                        RX1_Cnt=0;
                }

   }   
}
回复

使用道具 举报

6

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2016-4-12
在线时间
97 小时
 楼主| 发表于 2016-10-21 21:29:22 | 显示全部楼层
过眼烟云 发表于 2016-10-21 21:28
void USART1_IRQHandler(void)
{
          u8 res;

这是我32程序里判断接受信息  但是我测试发现
               if( RX1_Cnt > 0)
                {                         
                        RX1_Buffer[RX1_Cnt] = res;
                        RX1_Cnt++;
                }
                else if (res ==0x45)
                {
                                RX1_Buffer[0] = res;
                          RX1_Cnt = 1;
                }
                这里面都进去不了
回复

使用道具 举报

6

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
354
金钱
354
注册时间
2016-4-12
在线时间
97 小时
 楼主| 发表于 2016-10-23 18:26:36 | 显示全部楼层
正点原子 发表于 2016-10-22 19:53
把你收到的原始数据打印出来,看看原始数据是否正常。

C:\Users\Administrator\Desktop原始数据也不正常 我发送的只是后八位,前面的数据是怎么来的不知道啊
QQ图片20161023093610.png
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-10-24 22:43:58 | 显示全部楼层
过眼烟云 发表于 2016-10-23 18:26
原始数据也不正常 我发送的只是后八位,前面的数据是怎么来的不知道啊

0D,0A是回车换行。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

19

主题

176

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-27
在线时间
206 小时
发表于 2016-10-26 17:46:44 | 显示全部楼层
楼主你串口中断数据,是WIFI接收的BUF让给串口BUF么?是不是32设置一个IP,手机一个IP。用TCP了么
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-2-20
在线时间
6 小时
发表于 2017-9-14 11:37:28 | 显示全部楼层
你好,你先做出来的是那种模式?我做过tcp client,tcp server等模式,方便的话交流一下,我的qq是1632401541
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 09:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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