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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版