无法得出预想的周期,求教STM32定时器设置

2019-12-19 18:07发布

型号是STM32F103VBT6,晶振8M,系统主频设置72M,预分频72,重装值1000,按道理应该得到1000us周期的脉冲,但实际是大概230us:
中断处理.png (8.34 KB, 下载次数: 0) 下载附件 2018-4-25 09:39 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
qaya
1楼-- · 2019-12-20 16:55
leafstamen 发表于 2018-4-25 13:49
1000=>0x3e8
0xe8=>232

TIM2的计数器是32位的
qaya
2楼-- · 2019-12-20 17:12
本帖最后由 qaya 于 2018-4-26 08:58 编辑

自己顶一下,首先感谢楼上的朋友的建议看看库函数和例程。照搬例程当然可以得出和例程一样的结果,但是我的目的是想搞清楚我的程序问题出在哪里,显然我对STM32定时器的理解还太浅薄,因此无法找出原因。
刚刚在定时器配置里加上:TIM_ARRPreloadConfig(TIM2, DISABLE); 禁止了定时器自动重装后,终于得出了和计算值一样的周期脉冲,但是我仍然不理解这其中的原因。
望解答。
qaya
3楼-- · 2019-12-20 19:24
自己顶一顶,虽然已经得到与计算一致的周期,但原因还是不太理解,望得到指点。
dboyzju
4楼-- · 2019-12-21 00:45
 精彩回答 2  元偷偷看……
qaya
5楼-- · 2019-12-21 04:06
dboyzju 发表于 2018-4-26 09:06
定时器寄存器存在影子寄存器,写入一般都是先写入影子寄存器,在特定条件下(如Update)事件才会将影子寄 ...

多谢,我再仔细看看手册

一周热门 更多>