STM32F405的TIM3->CNT的BUG

[复制链接]
1501|11
 楼主| wangjiahao88 发表于 2016-11-25 20:52 | 显示全部楼层 |阅读模式
在使用STM32F405做正交编码器采样的时候,发现一个问题

 楼主| wangjiahao88 发表于 2016-11-25 20:53 | 显示全部楼层
截图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangjiahao88 发表于 2016-11-25 20:54 | 显示全部楼层
CNT是32位的寄存器。

然而实际操作中发现,
对于CNT的高16位无法写入,比如赋值0x7fffffff,查看寄存器的值后,只得到0x0000ffff
 楼主| wangjiahao88 发表于 2016-11-25 20:54 | 显示全部楼层
截图 如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangjiahao88 发表于 2016-11-25 20:55 | 显示全部楼层
截图 如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
原味_郭 发表于 2016-11-26 17:40 | 显示全部楼层
有些时候,寄存器的值要通过串口打印的,直接调试看寄存器的时候,又是反应慢,看不出效果的。
ahhsyf 发表于 2016-11-27 14:50 | 显示全部楼层
看看寄存器的介绍,32位并不代表着高16位是可写的。具体以数据寄存器的描述为准。
 楼主| wangjiahao88 发表于 2016-11-27 20:36 | 显示全部楼层
是啊 寄存器还是要看具体的R/W选项的!

明白了!
liutongda 发表于 2016-11-28 09:03 | 显示全部楼层
wangjiahao88 发表于 2016-11-27 20:36
是啊 寄存器还是要看具体的R/W选项的!

明白了!

有的寄存器是半读写的,有的位是保留位,纯粹为了凑数的。
 楼主| wangjiahao88 发表于 2016-11-28 14:38 | 显示全部楼层
纯粹为了凑数的???
你的意思是为了凑 32位这个概念?
gaoxiansheng 发表于 2016-11-28 21:00 | 显示全部楼层
这个不算是bug,是当初设计的时候就是这么设计的。
 楼主| wangjiahao88 发表于 2016-11-29 21:06 | 显示全部楼层
嗯!

其实看寄存器的时候 也看到了 很多都是 24位 或者16位可读写的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

500

主题

7585

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部