初级会员

- 积分
- 72
- 金钱
- 72
- 注册时间
- 2015-4-9
- 在线时间
- 6 小时
|
5金钱
原子哥你好,我看到STM32参考手册对定时器内部时钟的描述上说:
如果禁止了从模式控制器(TIMx_SMCR寄存器的SMS=000),则CEN、 DIR(TIMx_CR1寄存器)
和UG位(TIMx_EGR寄存器)是事实上的控制位,并且只能被软件修改(UG位仍被自动清除)。只
要CEN位被写成’1’,预分频器的时钟就由内部时钟CK_INT提供。
而后面关于外部时钟模式2的时钟源选择说:
令TIMx_SMCR寄存器中的ECE=1。
配置方式为:
1. 本例中不需要滤波器,置TIMx_SMCR寄存器中的ETF[3:0]=0000
2. 设置预分频器,置TIMx_SMCR寄存器中的ETPS[1:0]=01
3. 设置在ETR的上升沿检测,置TIMx_SMCR寄存器中的ETP=0
4. 开启外部时钟模式2,置TIMx_SMCR寄存器中的ECE=1
5. 启动计数器,置TIMx_CR1寄存器中的CEN=1
在外部时钟模式2的配置中,SMS是没有配置,默认为复位值000的,
且CEN=1,预分频器的时钟就由内部时钟CK_INT提供,这样不就和内部时钟的配置冲突了吗?
请原子哥指教到底该怎么配置这两个时钟?谢谢!
|
最佳答案
查看完整内容[请看2#楼]
开启ECE 从模式控制器会把时钟切换到外部时钟
CEN=1 定时器会根据选定的时钟进行计数,这个时钟由从模式控制器控制
就按照参考手册配置是可以工作的
|