找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2868|回复: 5
打印 上一主题 下一主题
收起左侧

STM32 USART程序if(USART1->DR=='M')疑问

[复制链接]
跳转到指定楼层
楼主
ID:593646 发表于 2019-8-29 19:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
if(USART1->DR=='M')
请问各位大佬,为什么=="MSD"之类的字符串?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:405033 发表于 2019-8-30 17:08 | 只看该作者
单引号和双引号的区别你要知道吧,传过来的数据是数字还是ascii值你清楚吗,这就是一个if判断语句,判断接受到的数据是不是‘M’而已
回复

使用道具 举报

板凳
ID:593646 发表于 2019-8-31 10:12 | 只看该作者
疯子本人 发表于 2019-8-30 17:08
单引号和双引号的区别你要知道吧,传过来的数据是数字还是ascii值你清楚吗,这就是一个if判断语句,判断接 ...

我想问如何读取串口的字符串???
回复

使用道具 举报

地板
ID:605752 发表于 2019-8-31 11:34 | 只看该作者
char data[10],i; i = 0; while(USART1->DR != "/0") {data[i]=USART1->DR;i++} data[i]="/0"
回复

使用道具 举报

5#
ID:405033 发表于 2019-8-31 15:49 | 只看该作者
直接读这个USART1->DR寄存器里面的值,或者读取串口存放数据的那个数组(不知道你有没有定义),例如:
u8 i; i = USART1->DR;这样就把数据放到i里面了,但是涉及到类型什么的,可能会导致你读出的数据有误。
回复

使用道具 举报

6#
ID:593646 发表于 2019-9-1 13:20 | 只看该作者
疯子本人 发表于 2019-8-31 15:49
直接读这个USART1->DR寄存器里面的值,或者读取串口存放数据的那个数组(不知道你有没有定义),例如:
u8 ...

问题已经解决,,没有设置寄存器中的SR,感谢大佬的指教
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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