找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2841|回复: 5
收起左侧

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

[复制链接]
ID:593646 发表于 2019-8-29 19:29 | 显示全部楼层 |阅读模式
if(USART1->DR=='M')
请问各位大佬,为什么=="MSD"之类的字符串?
回复

使用道具 举报

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"
回复

使用道具 举报

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

使用道具 举报

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 单片机教程网

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