关于串口通信中的寄存器问题。

2019-07-20 20:32发布

请教大神,这个函数是怎么实现接收数据的功能的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
zmingwang
1楼-- · 2019-07-20 21:14
 精彩回答 2  元偷偷看……
学习stm32f4
2楼-- · 2019-07-21 02:11
我也是新手,看原子哥的视频时,里面讲到无论是发送还是接收,用的都是DR寄存器。这个接收函数是return DR寄存器中的值来实现接收串口数据的,在使用时要定义一个变量来存储接收到的数据。
不理解的地方是DR是9位寄存器,为何接收函数被定义成16位的呢?
粽子
3楼-- · 2019-07-21 02:22
学习stm32f4 发表于 2016-8-28 17:13
我也是新手,看原子哥的视频时,里面讲到无论是发送还是接收,用的都是DR寄存器。这个接收函数是return DR ...

是啊,这点我也是特别疑惑。
lvehe
4楼-- · 2019-07-21 04:52
 精彩回答 2  元偷偷看……
正点原子
5楼-- · 2019-07-21 09:11
学习stm32f4 发表于 2016-8-28 17:13
我也是新手,看原子哥的视频时,里面讲到无论是发送还是接收,用的都是DR寄存器。这个接收函数是return DR ...

你看错手册了吧?
STM32F103/F407的DR都不止9位啊!!
学习stm32f4
6楼-- · 2019-07-21 13:08
本帖最后由 学习stm32f4 于 2016-8-29 18:47 编辑
正点原子 发表于 2016-8-28 23:45
你看错手册了吧?
STM32F103/F407的DR都不止9位啊!!

您好,原子哥,我看的是F407的中文手册。对理解您的视频有误的地方,还请原谅。
如截图所示,由于DR的位31:9必须保持复位值,那么DR可以理解成只有9位能用吗?


一周热门 更多>