OpenEdv-开源电子网

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

怎么判断接收到的数据?

[复制链接]

15

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2012-11-5
在线时间
11 小时
发表于 2014-3-26 15:12:48 | 显示全部楼层 |阅读模式
RT,串口接收到的数据是Res =USART_ReceiveData(USART1);
如果我要判断接收到的数据是否等于12345,
那是不是直接判断if(Res=12345)?
现在我输入了12345后,但是结果没有跳入if中,请问是什么原因呢?


学习之路漫长而修远......
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2012-11-5
在线时间
11 小时
 楼主| 发表于 2014-3-26 15:38:00 | 显示全部楼层
还有就是为什么我手机接收到的数据的位数和我手机发送出去的数据的位数一致的?
学习之路漫长而修远......
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-26 15:53:19 | 显示全部楼层
串口发过来的数据依次是字符型的1.2.3.4.5,你单独和12345比较,肯定不对
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

15

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2012-11-5
在线时间
11 小时
 楼主| 发表于 2014-3-26 16:01:36 | 显示全部楼层
回复【3楼】745021926:
---------------------------------
我是这样写的:
Res =USART_ReceiveData(USART1);
if(Res=='1')
{
USART_SendData(USART1,'a');
}
USART_SendData(USART1,'b');
本来想接收到的数据是1就输出a,
但是和奇怪的是如果我输入1234,他就会输出bbbb
现在我输入1也不会输出a,请问这是什么原因?
学习之路漫长而修远......
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-3-26 16:03:32 | 显示全部楼层
回复【4楼】stm师弟:
---------------------------------
那你调试下看看究竟收到了什么值
回复 支持 反对

使用道具 举报

15

主题

90

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2014-3-2
在线时间
2 小时
发表于 2014-3-26 21:45:00 | 显示全部楼层
回复【4楼】stm师弟:
---------------------------------我也是小菜鸟  看到你的帖子好奇就进来看看  是不是输入的应该是字符型 而你输入的数据都是整型的关系?
1369813157  衣冠民
回复 支持 反对

使用道具 举报

15

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2012-11-5
在线时间
11 小时
 楼主| 发表于 2014-3-26 22:39:40 | 显示全部楼层
回复【6楼】衣冠民:
---------------------------------
不,可能是因为接收数据字节的问题!
学习之路漫长而修远......
回复 支持 反对

使用道具 举报

15

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2012-11-5
在线时间
11 小时
 楼主| 发表于 2014-3-27 13:08:14 | 显示全部楼层
回复【5楼】ricefat:
---------------------------------
很奇怪,我的buf[5]开始就自己有值了: 
buf[5]        0x01 
buf[6]        0x02 
buf[7]        0x03 
buf[8]        0x04 
请问是为什么呢?
学习之路漫长而修远......
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 16:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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