0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【晶心科技ADP-Corvette-T1開發(fā)板試用體驗】corvette T1的多任務(wù)調(diào)度學(xué)習(xí)

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-11 10:55 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:ankor, 帖子地址:https://bbs.elecfans.com/jishu_2292363_1_1.html

corvette T1多任務(wù)調(diào)度學(xué)習(xí)

本文嘗試實現(xiàn)corvette T1開發(fā)板的多任務(wù)協(xié)作功能

多任務(wù)協(xié)作功能可以使用freeRTOS、RT-thread一類實時操作系統(tǒng)實現(xiàn),也可以使用中斷、任務(wù)調(diào)度器來實現(xiàn)這些功能在arduino中也都支持,因為并不清楚T1開發(fā)板支不支持實時操作系統(tǒng)所以本次暫不采用實時操作系統(tǒng)來實現(xiàn)(英文太差,不太看的懂手冊QAQ,而且說明文檔好像也沒提這事?)。

最后我選擇了任務(wù)調(diào)度器來實現(xiàn)T1開發(fā)板下的多任務(wù)調(diào)度,主要用到TaskScheduler這個庫,在管理庫中搜索并安裝即可。

image-20220710153612129.png

先演示下其中的示例,打開個庫中的Scheduler_example00_Blink這個示例,操作步驟:文件→示例→TaskScheduler→Scheduler_example00_Blink,如下圖。

image-20220710154230957.png

修改LED_BUILTON為13

image-20220710154558688.png?

修改前
image-20220710154716104.png

修改后
然后上傳即可看到開頭視頻中的演示效果了。

多任務(wù)調(diào)度學(xué)習(xí)

然后又跟下面這位大佬的教程學(xué)習(xí)了多任務(wù)調(diào)度的操作(其實主要是學(xué)明白他的操作,自己還是太菜了QAQ)

(42條消息) Arduino|實現(xiàn)多任務(wù)操作,從此告別果奔6柒的博客-CSDN博客arduino多任務(wù)并行

首先是聲明自己的回調(diào)函數(shù)


void t1Callback();

void t2Callback(); void t3Callback();

然后創(chuàng)建任務(wù)也就是Task的創(chuàng)建


Task t1(2000, 10, &t1Callback);//創(chuàng)建任務(wù)對象,內(nèi)部參數(shù)為延遲時間,任務(wù)生存時間(s),任務(wù)的回調(diào)函數(shù)地址

Task t2(3000, TASK_FOREVER, &t2Callback);//回調(diào)函數(shù)主要是實現(xiàn)任務(wù)功能的 Task t3(5000, TASK_FOREVER, &t3Callback);

然后是調(diào)度器的創(chuàng)建,主要負責(zé)收納、執(zhí)行和刪除這些任務(wù)的


Scheduler runner;

然后根據(jù)對象runner區(qū)訪問類的成員函數(shù)


runner.init();

runner.addTask(name);//添加name任務(wù),name為上面的Task 如t1或t2或t3 runner.deleteTask(name); runner.execute();

更多的細節(jié)可以參考上面那篇文章,最后是T1開發(fā)板使用該文提供的代碼跑出來的效果。


#include

// Callback methods prototypes void t1Callback(); void t2Callback(); void t3Callback();

//Tasks (delay_ms,times,func) Task t4(); Task t1(2000, 10, &t1Callback); Task t2(3000, TASK_FOREVER, &t2Callback); Task t3(5000, TASK_FOREVER, &t3Callback);

Scheduler runner;

void t1Callback() { Serial.print("t1: "); Serial.println(millis());


if (t1.isFirstIteration()) { runner.addTask(t3); t3.enable(); Serial.println("t1: enabled t3 and added to the chain"); } if (t1.isLastIteration()) { t3.disable(); runner.deleteTask(t3); t2.setInterval(500); Serial.println("t1: disable t3 and delete it from the chain. t2 interval set to 500"); }

}

void t2Callback() { Serial.print("t2: "); Serial.println(millis());

}

void t3Callback() { Serial.print("t3: "); Serial.println(millis());

}

void setup () { Serial.begin(115200); Serial.println("Scheduler TEST");

runner.init(); Serial.println("Initialized scheduler");

runner.addTask(t1); Serial.println("added t1");

runner.addTask(t2); Serial.println("added t2");

t1.enable(); Serial.println("Enabled t1"); t2.enable(); Serial.println("Enabled t2"); }

void loop () { runner.execute(); }

示例展示

image-20220710230703150.png

以上便是本文的所有內(nèi)容了

謝謝閱讀。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 晶心科技
    +關(guān)注

    關(guān)注

    0

    文章

    96

    瀏覽量

    18111
  • 開發(fā)板試用
    +關(guān)注

    關(guān)注

    3

    文章

    300

    瀏覽量

    1997
收藏 人收藏

    評論

    相關(guān)推薦

    Andes科技推出QiLai系統(tǒng)芯片和Voyager開發(fā)板

    高效能低功耗32/64位RISC-V處理器核心領(lǐng)導(dǎo)供貨商暨RISC-V國際協(xié)會創(chuàng)始首席會員Andes 科技(TWSE:6533)今日宣布推出QiLai (奇萊)系統(tǒng)芯片(SoC)和Voyager開發(fā)板,以進一步加速大規(guī)模RI
    的頭像 發(fā)表于 07-26 10:46 ?441次閱讀

    SO14;SMD卷軸包,13“;Q1/T1產(chǎn)品定位包裝信息

    電子發(fā)燒友網(wǎng)站提供《SO14;SMD卷軸包,13“;Q1/T1產(chǎn)品定位包裝信息.pdf》資料免費下載
    發(fā)表于 02-22 09:30 ?0次下載
    SO14;SMD卷軸包,13“;Q<b class='flag-5'>1</b>/<b class='flag-5'>T1</b>產(chǎn)品定位包裝信息

    學(xué)習(xí)筆記分享|使用C庫函數(shù)控制ELF 1開發(fā)板的LED

    (ELF1/ELF1S開發(fā)板及顯示屏)在嵌入式Linux系統(tǒng)開發(fā)中,通過編程控制硬件資源是至關(guān)重要的技能之一,今天跟各位小伙伴分享一篇專注于介紹如何使用C庫函數(shù)控制ELF
    的頭像 發(fā)表于 01-19 11:12 ?443次閱讀
    <b class='flag-5'>學(xué)習(xí)</b>筆記分享|使用C庫函數(shù)控制ELF <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的LED

    【涂鴉T2-U開發(fā)板試用體驗】涂鴉T2-U開發(fā)板初體驗

    。 滿足大部分場景的通訊能力 T2-U開發(fā)板支持Wi-Fi和低功耗藍牙兩種通訊能力,與大眾使用習(xí)慣更匹配,能滿足大部分使用場景下的連接需求。 1、Wi-Fi Wi-Fi的配網(wǎng)、設(shè)備控制能力比較豐富,比如
    發(fā)表于 12-22 10:59

    【涂鴉T2-U開發(fā)板試用體驗】1、T2-U開發(fā)環(huán)境搭建及調(diào)試

    前言 本章介紹T2-U的開發(fā)環(huán)境搭建流程,以及一些遇到的問題。 一、資料 試用網(wǎng)址:【新品體驗】涂鴉 T2-U 開發(fā)板免費
    發(fā)表于 11-25 23:38

    【ELF 1開發(fā)板試用】+ 1.開箱+前話

    前話 很榮幸參與到本次由飛凌嵌入式和電子發(fā)燒友聯(lián)合舉辦“ELF 1開發(fā)板”的試用活動; ELF 1這款開發(fā)板作為
    發(fā)表于 11-21 20:56

    【ELF 1開發(fā)板試用1.開箱驗貨

    ,子品牌的學(xué)習(xí)更加適合入門級的學(xué)生使用,價格也比較實惠,資料源代碼等全開放,還有配套的學(xué)習(xí)視頻和資料。這一次非常榮幸通過了 ELF1試用
    發(fā)表于 11-21 14:20

    【ELF 1開發(fā)板試用】+ 1.開箱+前話

    前話 很榮幸參與到本次由飛凌嵌入式和電子發(fā)燒友聯(lián)合舉辦“ELF 1開發(fā)板”的試用活動; ELF 1這款開發(fā)板作為
    發(fā)表于 11-20 16:23

    【涂鴉T2-U開發(fā)板試用體驗】開箱測試

    用于日志查看和燒寫。 程序啟動后,可以從串口看到日志。 T2-U 開發(fā)板默認燒錄云端連接最小系統(tǒng) demo(apps/tuyaos_demo_quickstart),可通過涂鴉App 直接連接云端。下面我們將對這個程序進行一下學(xué)習(xí)
    發(fā)表于 11-18 11:28

    【涂鴉T2-U開發(fā)板試用體驗】初識及試玩開發(fā)板

    期待已久的涂鴉開發(fā)板已經(jīng)到了一段時間了,平時上班很忙,沒有時間來學(xué)習(xí)實踐,好不容易快熬到周末,擠出一點時間來玩一玩心愛的開發(fā)板。板子見圖: 標(biāo)準(zhǔn)的長條形設(shè)計,一端是天線部分,用來做無線通信
    發(fā)表于 11-17 22:44

    【涂鴉T2-U開發(fā)板試用體驗】遠程調(diào)試blink

    隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,智能硬件的開發(fā)變得越來越熱門。在這個領(lǐng)域,涂鴉智能是一家備受矚目的公司,其T2開發(fā)板也受到了廣泛關(guān)注。作為一名開發(fā)者,我有幸獲得了涂鴉
    發(fā)表于 11-17 15:54

    【涂鴉T2-U開發(fā)板試用體驗】第一帖-開箱體驗

    先感謝涂鴉智能提供的試用機會,有幸體驗T2-U開發(fā)板。 涂鴉 T2-U 開發(fā)板 是一款專為開發(fā)
    發(fā)表于 11-16 20:19

    方法|基于T507開發(fā)板講如何將占用引腳配置為普通GPIO

    方法|基于T507開發(fā)板講如何將占用引腳配置為普通GPIO
    的頭像 發(fā)表于 11-09 13:59 ?501次閱讀
    方法|基于<b class='flag-5'>T</b>507<b class='flag-5'>開發(fā)板</b>講如何將占用引腳配置為普通GPIO

    多核異構(gòu)工業(yè)開發(fā)板:創(chuàng)龍科技T113-i

    概述 本次評測開發(fā)板--創(chuàng)龍T113-i工業(yè)開發(fā)板,這是一款基于全志科技處T113-i理器, 采用雙Cortex-A7 + Xuantie C906 RISC-V + HiFi4 DS
    的頭像 發(fā)表于 10-24 10:26 ?1162次閱讀
    多核異構(gòu)工業(yè)<b class='flag-5'>開發(fā)板</b>:創(chuàng)龍科技<b class='flag-5'>T</b>113-i

    【XR806開發(fā)板試用】FreeRTOS創(chuàng)建任務(wù)測試

    這篇來學(xué)習(xí)下,XR806開發(fā)板在FreeRTOS系統(tǒng)下創(chuàng)建兩個任務(wù)測試,由于沒有找到學(xué)習(xí)的文檔,試著參考例程來測試。
    的頭像 發(fā)表于 10-10 11:47 ?562次閱讀
    【XR806<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>】FreeRTOS創(chuàng)建<b class='flag-5'>任務(wù)</b>測試