请问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条回答
warship
2019-07-21 13:24
对于资料我也曾经有过疑问,
手册上还写着ODR和IDR寄存器只能按字访问,是不是不能只修改单个BIT呢?
但是我们常用的位段操作PAout(3)或PAin(3)却可以按BIT位访问,
后来才想到,它指的是如果读写该寄存器必须以32位的字模式,整字读出,修改再整字写回。
但位段操作读写的并不是该寄存器,而是其某一BIT位所映射的别名存储器。

一周热门 更多>