找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

真正的程序框架 简洁小巧的软件定时器 , 已附移植视频,盖到20楼送源码

查看数: 3141 | 评论数: 8 | 收藏 5
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-2-26 12:03

正文摘要:

还在用各种标志位 全局变量搞定时器,换种更优雅的方式吧 好了首先搞个需求引入 软件定时器的这个话题吧。 需求1:让4个任务分别以1000ms、500ms、500ms、800ms周期性执行。怎么弄?直接给出需求1的代码:/*---- ...

回复

ID:886627 发表于 2021-3-5 07:20
版主  51hei   就是51hei51?
ID:886627 发表于 2021-2-27 12:56
春风十里吹死你 发表于 2021-2-27 10:56
明明一个简单的指针能摆平的事,硬是要搞得这么复杂,制造麻烦!

talk is sheep, show me your code
ID:478073 发表于 2021-2-27 10:56
明明一个简单的指针能摆平的事,硬是要搞得这么复杂,制造麻烦!
ID:97678 发表于 2021-2-27 10:34
没有看明白! 在研究研究!
ID:886627 发表于 2021-2-27 08:47
hefq 发表于 2021-2-26 21:38
搞得太复杂了,应该精简一下

一看内容太多,估计你就没细看
ID:886627 发表于 2021-2-27 08:45
应用场景
周期触发定时器(MLPeriod),适用于对首次触发时间要求不严格的场合。比如,让LED以280ms周期性亮灭。这种情况下我们并不关心LED首次由灭到亮用了多长时间,我们只要求LED在以后的时间以准确的280ms周期性亮灭。

单次触发定时器(MLShot),适用于对首次触发时间要求严格的场合。另外MLshot定时器自动停止后,调用启动函数MLShot.start,亦可实现周期触发。


API接口
microLite_timer支持的MLPeriod接口主要包括:

MLPeriod.Init,初始化定时器;
MLPeriod.run;
MLPeriod.check,检查定时器是否超时。
microLite_timer支持的MLShot接口主要包括:

MLShot.start,启动定时器;
MLShot.stop,停止定时器;
MLShot.check,检查定时器是否超时。
ID:605142 发表于 2021-2-26 21:45
启动定时器的地方,和检测定时器的地方经常是不在一起的,所以还是要变量中转
ID:605142 发表于 2021-2-26 21:38
搞得太复杂了,应该精简一下

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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