如何实现不在主循环判断的动态定时器

2019-08-14 03:11发布

本帖最后由 Eternal单人行 于 2017-9-5 14:12 编辑

STM32F107。怎么实现动态定时器,就像定时器定义一样,每次定时器的执行都是通过定时器的中断服务函数来进行。中断服务函数结束后,释放该定时器。不在主函数内做任何判断,不在主函数内做任何判断,不在主函数内做任何判断。主函数只有申请。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
shikihane
1楼-- · 2019-08-14 21:05
可以写个软件定时器,用硬件定时器做时基。时间到了,就调回调函数。一般的操作系统都会提供这种东西
jermy_z
2楼-- · 2019-08-14 23:24
Eternal单人行 发表于 2017-9-5 11:55
定时器不够用,想做个动态定时器,时间,中断服务函数的执行部分都是可变的,但要求不在主循环内进行判断

上操作系统
Eternal单人行
3楼-- · 2019-08-15 03:53
shikihane 发表于 2017-9-5 13:10
可以写个软件定时器,用硬件定时器做时基。时间到了,就调回调函数。一般的操作系统都会提供这种东西

裸机,没操作系统,能实现吗?
aiyeba
4楼-- · 2019-08-15 09:10
 精彩回答 2  元偷偷看……
Eternal单人行
5楼-- · 2019-08-15 10:49
aiyeba 发表于 2017-9-5 14:12
我觉得你还是说下你的功能好,或许没有你想得那么复杂呢?

当局者迷。

需要多个定时器,实现不同的定时功能,但要求不占用主循环,主循环是2s循环一次。曾经想过累加器,但在主循环里检测累加值,时间就不准确了
aiyeba
6楼-- · 2019-08-15 12:51
Eternal单人行 发表于 2017-9-5 14:16
需要多个定时器,实现不同的定时功能,但要求不占用主循环,主循环是2s循环一次。曾经想过累加器,但在主 ...

一个定时器就可以包揽所有的时间节奏了。多设置一些全局变量就好了。

至于你说的,你不能进主循环。那么基本可以说你不能加任务了。

加也只能加简单的任务。然后直接放在中断里面做。

我有点怀疑你的框架没有搭建好。

一周热门 更多>