你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

12
返回列表 发新帖
楼主: miraclexue

STM32 定时器开关导致延时不准确

[复制链接]
回帖奖励 4 ST金币 回复本帖可获得 2 ST金币奖励! 每人限 1 次(中奖概率 50%)

16

主题

71

回帖

0

蝴蝶豆

高级会员

最后登录
2019-9-10
 楼主| 发表于 2018-7-4 16:23:19 | 显示全部楼层
wenyangzeng 发表于 2018-7-4 15:26
既然中断中执行代码大于10us,楼主设置这个10us中断有何意义?

此定时器主要目的是控制程序反复执行,您暂可不必注意这点,您看我提出的两个解决方案哪个可行呢?
回复 支持 反对

使用道具 举报

4

主题

95

回帖

6

蝴蝶豆

高级会员

最后登录
2019-8-16
发表于 2018-7-4 17:00:38 | 显示全部楼层
非要从其中选择一个,本人选择2方案。不过建议最好还是换种实现方式
回复 支持 反对

使用道具 举报

68

主题

3266

回帖

82

蝴蝶豆

社区小助手

最后登录
2020-12-9
发表于 2018-7-4 17:13:11 | 显示全部楼层
本帖最后由 wenyangzeng 于 2018-7-4 17:20 编辑
miraclexue 发表于 2018-7-4 16:23
此定时器主要目的是控制程序反复执行,您暂可不必注意这点,您看我提出的两个解决方案哪个可行呢? ...

何种方案都不应该关闭定时器,只要1个变量保存上次CNT值,与本次CNT比较即可。
回复 支持 反对

使用道具 举报

16

主题

71

回帖

0

蝴蝶豆

高级会员

最后登录
2019-9-10
 楼主| 发表于 2018-7-5 09:53:08 | 显示全部楼层
oceane 发表于 2018-7-4 17:00
非要从其中选择一个,本人选择2方案。不过建议最好还是换种实现方式

感谢指教
回复 支持 反对

使用道具 举报

16

主题

71

回帖

0

蝴蝶豆

高级会员

最后登录
2019-9-10
 楼主| 发表于 2018-7-5 09:58:18 | 显示全部楼层
wenyangzeng 发表于 2018-7-4 17:13
何种方案都不应该关闭定时器,只要1个变量保存上次CNT值,与本次CNT比较即可。 ...

感谢指教,为减少代码量,本人选择单脉冲模式,在定时器溢出后计数器自动停止计数(硬件自动清除CEN位),在中断最后再打开计数器(使能CEN位),这样可以确保每次都是从0开始计数。
对于定时器此种应用方式,主要是为了程序被中断保护,执行优先级高。
回复 支持 反对

使用道具 举报

16

主题

71

回帖

0

蝴蝶豆

高级会员

最后登录
2019-9-10
 楼主| 发表于 2018-7-5 15:14:55 | 显示全部楼层
oceane 发表于 2018-7-4 17:00
非要从其中选择一个,本人选择2方案。不过建议最好还是换种实现方式

抱歉再打扰一下,您能否讲一下单脉冲模式具体的运作原理?
我的理解,计数器单脉冲模式:
1、计数器开启(cen=1)
2、计数器开始计数
3、计数器溢出中断,同时计数器自动关闭(cen=0,cnt=0),进入中断执行代码2
4、中断代码最后开启计数器(cen=1),接着会从步骤2重复运行
配置成单脉冲模式,以上运行逻辑正常吗?我看手册上会有脉冲产生,我没有配置那些,是否会产生什么脉冲波形?(我不要脉冲波形)
回复 支持 反对

使用道具 举报

20

主题

1513

回帖

5

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2018-7-6 09:03:44 | 显示全部楼层
miraclexue 发表于 2018-7-4 14:23
感谢回复,这里的定时器的作用只是控制程序进行的作用

控制程序进程可以通过其他方式来做嘛,比如状态机
回复 支持 反对

使用道具 举报

29

主题

2129

回帖

127

蝴蝶豆

论坛元老

最后登录
2020-12-7
发表于 2018-7-6 10:34:18 | 显示全部楼层

回帖奖励 +2 ST金币

miraclexue 发表于 2018-7-4 13:45
感谢回复  是发错地方了  我在中断中必须关闭定时器,因为代码执行时间要远大于10
...

如果你超过了10us,那么你设想的让这个超过10us的中断处理函数分端执行是不大可能的,因为每次出发了计时器中断,肯定是从中断处理函数的入口开始执行,而不是你执行到了一半的中断处理函数的位置,除非你能在中断处理函数中先做一次入栈,但是你还是很难控制时机
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版