请问STM32F103里的BRR寄存器为什么被称为16位寄存器?

2019-07-21 01:00发布

最近发现好多的资料上将BRR寄存器称之为【一个16位寄存器BRR】。包括一些课件一些资料。例如原子哥的《STM32F1开发指南-库函数版本_V3.1 》也是这么描述的。而对于同样是高16位保留只有低16位有效的ODR寄存器却称之为【32位寄存器】。
TIM截图20190521205234.png
我查看了《STM32中文参考手册_V10》和《STM32英文参考手册_V15》发现里面并没有就这个问题进行说明。
TIM截图20190521205541.png
TIM截图20190521205623.png
对此我有两个猜测:
① 由于BRR寄存器的功能与BSRR高16位相同,是不是BRR寄存器其实在【物理设计】上其实就是BSRR的高16位。只是由于为了方便使用,【逻辑上】将其又映射到一个地址上。
②笔误?(我觉得这个不大可能,毕竟不是一个资料上这样讲的)

请各位大佬解答一下,这是我们导师问我的。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
0x00000000
1楼-- · 2019-07-21 05:55
 精彩回答 2  元偷偷看……
shichuang
2楼-- · 2019-07-21 05:58






0x00000000
3楼-- · 2019-07-21 09:15
 精彩回答 2  元偷偷看……
skyate
4楼-- · 2019-07-21 10:18
0x00000000 发表于 2019-5-21 22:59
你还是too young啊,问的问题都too simple啊,sometimes naive!
你告诉我,16-31位写着啥?保留看得到吗 ...

感谢~其实也是,毕竟会用就好,官方到底怎么设计的也无从知晓。F4都没有BRR这个寄存器了
warship
5楼-- · 2019-07-21 13:24
对于资料我也曾经有过疑问,
手册上还写着ODR和IDR寄存器只能按字访问,是不是不能只修改单个BIT呢?
但是我们常用的位段操作PAout(3)或PAin(3)却可以按BIT位访问,
后来才想到,它指的是如果读写该寄存器必须以32位的字模式,整字读出,修改再整字写回。
但位段操作读写的并不是该寄存器,而是其某一BIT位所映射的别名存储器。
candylife9
6楼-- · 2019-07-21 17:03
32里面所有的寄存器都是32位的,不能说高16位Reserved就是16位寄存器,参考手册也有错误的地方。至于保留的高16位为什么不能用,保留是怎么实现的,数字电路学过吧,方法多着呢,人家就是不给你用呗。

一周热门 更多>