|
關注+星標公眾號,不錯過精彩內(nèi)容
gna41vttbcp6404772646.gif (429.76 KB, 下載次數(shù): 5)
下載附件
保存到相冊
gna41vttbcp6404772646.gif
2024-10-16 07:29 上傳
作者 | strongerHuang
微信公眾號 | 嵌入式專欄
做嵌入式開發(fā)不能只想著裸機,有些小項目確實用簡單裸機實現(xiàn)就可以了,但長期來說,我們還是要“做大做強”,所以,要么上RTOS,要么有框架思維。
今天就分享一個強大的協(xié)同多任務處理庫:TaskScheduler(多任務調(diào)度器)。
開源地址:https://github.com/arkhipenko/TaskScheduler
siplyws2ssh6404772746.png (130.23 KB, 下載次數(shù): 4)
下載附件
保存到相冊
siplyws2ssh6404772746.png
2024-10-16 07:29 上傳
關于TaskScheduler
Task Scheduler是一款適用于Arduino, ESPx, STM32和其他微控制器的協(xié)同多任務處理庫。
它是協(xié)作多任務(任務調(diào)度)的輕量級實現(xiàn),也是搶先式編程和FreeRTOS等框架的簡單替代方案。
大多數(shù)情況下,你不需要擔心并發(fā)處理的問題(競爭、死鎖、活動鎖、資源共享等),協(xié)作處理的事件是通過設計來處理這些問題。
主要特點:
45d0r4lhnqh6404772846.png (302.48 KB, 下載次數(shù): 3)
下載附件
保存到相冊
45d0r4lhnqh6404772846.png
2024-10-16 07:29 上傳
適用的一些平臺:
ArduinoATtiny85ESP8266ESP32Teensy nRF52 STM32Raspberry Pi
使用方法
這種開源庫提供了接口,使用方法其實很簡單,比如這里基于Ardiuo平臺給大家簡單講述一下使用方法。
1、下載源碼https://github.com/arkhipenko/TaskScheduler
2、添加源碼將下載的源碼添加到Ardiuo工程中,然后包含頭文件。
#include
3、添加自己的多任務代碼#include
Scheduler scheduler;
Task task1(1000, TASK_FOREVER, [](){});
Task task2(1000, TASK_FOREVER, [](){});
void setup() { scheduler.init(); scheduler.addTask(task1); scheduler.addTask(task2); task1.enable(); task2.enable();}
void loop() { scheduler.execute();}
本文就簡單分享到這里,感興趣的小伙伴可以嘗試使用一下。------------ END ------------
o2pgv3zyjqv6404772946.gif (71.87 KB, 下載次數(shù): 3)
下載附件
保存到相冊
o2pgv3zyjqv6404772946.gif
2024-10-16 07:29 上傳
●專欄《嵌入式工具》
●專欄《嵌入式開發(fā)》
●專欄《Keil教程》
●嵌入式專欄精選教程
關注公眾號回復“加群”按規(guī)則加入技術交流群,回復“1024”查看更多內(nèi)容。
點擊“閱讀原文”查看更多分享。 |
|