分享一个协同多任务处理库

strongerHuang 2025-09-01 08:13

关注+星标公众,不错过精彩内容

作者 | strongerHuang

微信公众号 | 嵌入式专栏

做嵌入式开发不能只想着裸机,有些小项目确实用简单裸机实现就可以了,但长期来说,我们还是要“做大做强”,所以,要么上RTOS,要么有框架思维。

今天就分享一个强大的协同多任务处理库:TaskScheduler(多任务调度器)。

开源地址:
https://github.com/arkhipenko/TaskScheduler
资讯配图

关于TaskScheduler

Task Scheduler是一款适用于Arduino, ESPx, STM32和其他微控制器的协同多任务处理库。


它是协作多任务(任务调度)的轻量级实现,也是抢先式编程和FreeRTOS等框架的简单替代方案。


大多数情况下,你不需要担心并发处理的问题(竞争、死锁、活动锁、资源共享等),协作处理的事件是通过设计来处理这些问题。

主要特点:

资讯配图

适用的一些平台:


使用方法

这种开源库提供了接口,使用方法其实很简单,比如这里基于Ardiuo平台给大家简单讲述一下使用方法。

1、下载源码
https://github.com/arkhipenko/TaskScheduler

2、添加源码
将下载的源码添加到Ardiuo工程中,然后包含头文件。
#include<TaskScheduler.h>

3、添加自己的多任务代码
#include<TaskScheduler.h>
Scheduler scheduler;
Task task1(1000, TASK_FOREVER, [](){});
Task task2(1000, TASK_FOREVER, [](){});
voidsetup(){  scheduler.init();  scheduler.addTask(task1);  scheduler.addTask(task2);  task1.enable();  task2.enable();}
voidloop(){  scheduler.execute();}

本文就简单分享到这里,感兴趣的小伙伴可以尝试使用一下。

------------ END ------------


资讯配图

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程


关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

点击“阅读原文”查看更多分享。

声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号