電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 50|回復(fù): 0
收起左側(cè)

分享一個強(qiáng)大的協(xié)同多任務(wù)處理庫

[復(fù)制鏈接]

300

主題

300

帖子

2202

積分

三級會員

Rank: 3Rank: 3

積分
2202
跳轉(zhuǎn)到指定樓層
樓主
關(guān)注+星標(biāo)公眾,不錯過精彩內(nèi)容

作者 | strongerHuang
微信公眾號 | 嵌入式專欄
做嵌入式開發(fā)不能只想著裸機(jī),有些小項(xiàng)目確實(shí)用簡單裸機(jī)實(shí)現(xiàn)就可以了,但長期來說,我們還是要“做大做強(qiáng)”,所以,要么上RTOS,要么有框架思維。
今天就分享一個強(qiáng)大的協(xié)同多任務(wù)處理庫:TaskScheduler(多任務(wù)調(diào)度器)。
開源地址:https://github.com/arkhipenko/TaskScheduler

關(guān)于TaskScheduler
Task Scheduler是一款適用于Arduino, ESPx, STM32和其他微控制器的協(xié)同多任務(wù)處理庫。

它是協(xié)作多任務(wù)(任務(wù)調(diào)度)的輕量級實(shí)現(xiàn),也是搶先式編程和FreeRTOS等框架的簡單替代方案。

大多數(shù)情況下,你不需要擔(dān)心并發(fā)處理的問題(競爭、死鎖、活動鎖、資源共享等),協(xié)作處理的事件是通過設(shè)計來處理這些問題。
主要特點(diǎn):

適用的一些平臺:
  • Arduino
  • ATtiny85
  • ESP8266
  • ESP32
  • Teensy
  • nRF52
  • STM32
  • Raspberry Pi
    使用方法
    這種開源庫提供了接口,使用方法其實(shí)很簡單,比如這里基于Ardiuo平臺給大家簡單講述一下使用方法。
    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 ------------



    ●專欄《嵌入式工具
    ●專欄《嵌入式開發(fā)》
    ●專欄《Keil教程》
    ●嵌入式專欄精選教程

    關(guān)注公眾號回復(fù)“加群”按規(guī)則加入技術(shù)交流群,回復(fù)“1024”查看更多內(nèi)容。
    點(diǎn)擊“閱讀原文”查看更多分享。
  • 回復(fù)

    使用道具 舉報

    發(fā)表回復(fù)

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則

    關(guān)閉

    站長推薦上一條 /1 下一條


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表