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