初学者请教STM32的几个问题,望好汉们不吝赐教!!

[复制链接]
2752|5
手机看帖
扫描二维码
随时随地手机跟帖
ly700620|  楼主 | 2009-3-30 19:27 | 显示全部楼层 |阅读模式
1、ST例程NVIC/Example2中,用TIM2、TIM3、TIM4分别实现1S、2S、3S的定时 周期,采用的ARR值分别为4AFH,95FH,E0FH,预分频数都是EA5FH,更新时产生中断。照我的算法,定时周期是4AFH/(36MHZ/EA5FH)=2S,TIM3,TIM4分别是3S和4S,哪里算错了?
2、ARR和CCR都有预加载寄存器,很多时候预加载寄存器是禁能的,而书上说,影子寄存器的改变都是通过对预加载寄存器的读写实现的,请问,预加载禁能的时候影子寄存器的值是怎么变化的,当ARR预加载寄存器禁能后,更新事件发生时,影子寄存器从哪里自动加载。还有很多时候通过TIM_Setcomparex(TIMX,capture+CCRx_VAL)来实现等时间间隔的定时,此时CCR的预加载也被禁能,更新时间发生时,定时器计数器清零,CCR怎么回到初值,继续在下个周期实现等时间间隔的定时。
香水城| | 2009-3-30 20:56 | 显示全部楼层

关于第1个问题请看我的博客,关于第2个问题请说明哪个书说

关于第2个问题你最好参考STM32的手册。

博客**:STM32中定时器的时钟源

使用特权

评论回复
ly700620|  楼主 | 2009-3-30 23:13 | 显示全部楼层

手册上也是这么讲啊

中文版224面最下面有句“读写过程仅操作预加载寄存器”

使用特权

评论回复
香水城| | 2009-3-31 09:22 | 显示全部楼层

ARR和CCR都有预加载寄存器,真正起作用的是其影子寄存器

当预加载寄存器被禁止时,写入ARR或CCR的数值会直接传送到对应的影子寄存器;如果使能预加载寄存器,则写入ARR或CCR的数值会在更新事件时,才会从预加载寄存器传送到对应的影子寄存器。

使用特权

评论回复
ly700620|  楼主 | 2009-3-31 12:30 | 显示全部楼层

哦,这样啊,2个问题都解决了,谢谢版主

使用特权

评论回复
渤海三叠浪| | 2009-5-12 12:22 | 显示全部楼层

香主说的对!

具体点是,如果使能预加载寄存器,则将预加载寄存器的内容送到一个缓冲器中,等到更新事件或EGR寄存器的末位为1时,再从缓冲器将值送到对应的影子寄存器。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

11

帖子

1

粉丝