OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4675|回复: 4

关于定时器计数值获取的问题

[复制链接]

34

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1087
金钱
1087
注册时间
2017-3-10
在线时间
172 小时
发表于 2022-5-11 11:08:02 | 显示全部楼层 |阅读模式
10金钱
在F4中我使用TIM_GetCounter(TIM3);来读取当前定时器计数值(CNT),偶尔会出现没有返回值的问题。大概十来次会出现一次。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8463
金钱
8463
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-5-11 11:39:56 | 显示全部楼层
“没有返回值”是如何判定的?
专治疑难杂症
回复

使用道具 举报

34

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1087
金钱
1087
注册时间
2017-3-10
在线时间
172 小时
 楼主| 发表于 2022-5-11 14:07:02 | 显示全部楼层
LcwSwust 发表于 2022-5-11 11:39
“没有返回值”是如何判定的?

调试器跟进去看的啊,我配置的为下降沿触发输入捕获中断,在开始触发前读取一次计数值,在中断处理函数中得到触发结束值,在我在中断中加断点时,函数值没有覆盖,故判断没有获取到数值。
回复

使用道具 举报

12

主题

3344

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8463
金钱
8463
注册时间
2020-5-11
在线时间
3904 小时
发表于 2022-5-11 14:29:46 | 显示全部楼层
stm32wwxf 发表于 2022-5-11 14:07
调试器跟进去看的啊,我配置的为下降沿触发输入捕获中断,在开始触发前读取一次计数值,在中断处理函数中 ...

你的问题不是函数没有返回值,因为那个函数不可能没有返回值。
你的问题在于两次捕获中断得到的计数值(CNT)相同,对吧?
正常状态下这种情况也是有可能存在的,比如两次捕获间隔很短、或者间隔正好定时器周期的整数倍。
话说捕获功能得到的值不应该是在CCR寄存器中吗?
专治疑难杂症
回复

使用道具 举报

34

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1087
金钱
1087
注册时间
2017-3-10
在线时间
172 小时
 楼主| 发表于 2022-5-11 17:10:58 | 显示全部楼层
LcwSwust 发表于 2022-5-11 14:29
你的问题不是函数没有返回值,因为那个函数不可能没有返回值。
你的问题在于两次捕获中断得到的计数值(C ...

捕获没得问题,那个是CCR,有问题的是定时器计数器,就是中断会把这个计数器的值赋给CCR。现在是读计数器的值没有返回。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 18:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表