[STM8] STM8L外部时钟模式2 捕获

[复制链接]
1341|20
 楼主| jiahy 发表于 2021-9-11 19:15 | 显示全部楼层 |阅读模式
STM8L单片机,TIM2在外部时钟2模式下进不去捕获中断
 楼主| jiahy 发表于 2021-9-11 19:17 | 显示全部楼层
TIM2的外部时钟模式2怎么配置
chuxh 发表于 2021-9-11 19:19 | 显示全部楼层
看手册上的功能结构图。按照图的流程。
huangchui 发表于 2021-9-11 19:21 | 显示全部楼层
1. 是否使用别的时钟模式就可以进入捕获中断,如果不是先把进捕获中断搞定;
2、如果别的时钟模式可以进捕获中断,那就重点检查下基于ETR的配置代码。请参考手册中的流程:
1. As no filter is needed in this example, write ETF[3:0] = 0000 in the TIM1_ETR register.
2. Set the prescaler by writing ETPS[1:0] = 01 in the TIM1_ETR register.
3. Select rising edge detection on the ETR pin by writing ETP = 0 in the TIM1_ETR
register.
4. Enable external clock mode 2 by writing ECE = 1 in the TIM1_ETR register.
5. Enable the counter by writing CEN = 1 in the TIM1_CR1 register.
The counter counts once every two ETR rising edges.
【具体参数根据你的应用稍作调整】
 楼主| jiahy 发表于 2021-9-11 19:23 | 显示全部楼层
谢谢,我现在可以进入捕获中断了,每次进入中断后TIM2_CNTR高低寄存器才加1,它不是等于捕获过程中的计数值吗?
dengdc 发表于 2021-9-11 19:25 | 显示全部楼层
只要定时器使能了,tim_cntr是动态的,至于变化快慢取决于时钟。
huangchui 发表于 2021-9-11 19:27 | 显示全部楼层

发生捕获时,定时器的值CNTR会被捕捉到CCR寄存器里面去。
 楼主| jiahy 发表于 2021-9-11 19:29 | 显示全部楼层
我第一次进入捕获和第二次进入捕获CCR的值差一直是1,按说我这期间计数不能这么少啊
yufe 发表于 2021-9-11 19:36 | 显示全部楼层
开总中断了吗
supernan 发表于 2021-9-11 19:37 | 显示全部楼层
上代码瞅瞅
heweibig 发表于 2021-9-11 19:39 | 显示全部楼层
模式一可以进入吗
lizye 发表于 2021-9-11 19:41 | 显示全部楼层

贴代码瞅瞅吧
spark周 发表于 2021-9-11 19:43 | 显示全部楼层
别的模式可以吗
zhanghqi 发表于 2021-9-11 19:46 | 显示全部楼层
换一种中断模式呢
zhenykun 发表于 2021-9-11 19:48 | 显示全部楼层
恭喜楼主解决问题
 楼主| jiahy 发表于 2021-9-11 19:50 | 显示全部楼层
我也是长知识了
午夜粪车 发表于 2021-9-11 19:52 | 显示全部楼层
以后我也要注意这个问题了
 楼主| jiahy 发表于 2021-9-11 19:55 | 显示全部楼层

嗯,预料中的结果,多谢大家啦
tpgf 发表于 2021-10-7 17:20 | 显示全部楼层
开启中断使能了吗
磨砂 发表于 2021-10-7 17:24 | 显示全部楼层
为什么是这样的呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

862

主题

9861

帖子

4

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