UCOSIII 二 LED燈任務閃爍

2022-05-13 05:46:59 字數 1546 閱讀 2628

一共建立3個任務,start_task,led0_task,led1_task,在main函式裡邊只初始化任務start_task,然後在任務start_task中再建立剩餘的兩個任務,建立好後就把start_task自身掛起,不再執行。在led0_task和led1_task間,他們是通過延時函式來跳出自身任務,主要是延時函式中包括ossched(),這個函式的作用就是找到下乙個可以執行的任務去執行,這樣在led1任務中延時的時間去執行任務二,這樣cpu一直在執行中,而不是像裸機時delay就啥也不幹,從而提高效率,呈現出類似的並行性。

#define start_task_prio 3 //

define priority

#define start_task_stk_size 128 //

define the task stack size

os_tcb start_task_tcb;

//define task control block

cpu_stk start_task_stk[start_task_stk_size];//

define task stack

void start_task(void *p_arg);//

(void *p_arg ) is necessary

#define led0_task_prio 4 //

define priority

#define led0_task_stk_size 128 //

define the task stack size

os_tcb led0_task_tcb;

//define task control block

cpu_stk led0_task_stk[led0_task_stk_size];//

define task stack

void led0_task(void *p_arg);//

(void *p_arg ) is necessary

#define led1_task_prio 5 //

define priority

#define led1_task_stk_size 128 //

define the task stack size

os_tcb led1_task_tcb;

//define task control block

cpu_stk led1_task_stk[led0_task_stk_size];//

define task stack

void led1_task(void *p_arg);//

(void *p_arg ) is necessary

int main(void

)

void start_task(void *p_arg)

void led0_task(void *p_arg)

}

void led1_task(void *p_arg)

}

樹莓派使用WiringPi實現LED燈閃爍

樹莓派使用wiringpi實現led燈閃爍 前幾天入手樹莓派,刷了系統就想做一些有趣的事情。工具 乙個led發光二極體 各顏色皆可,我選用的是3v綠色的 乙個定值電阻 為了樹莓派的安全,建議使用,具體多少根據情況而定,我沒有使用 母對母杜邦線2根 可選 乙個樹莓派且已燒好系統 首先安裝wiringp...

物聯網 實驗二Mixly按鍵控制LED燈

一 實驗目的及要求 button開關led。二 實驗原理與內容 實現公尺思齊按鍵控制led 根據以下 改寫 三 實驗軟硬體環境 硬體 arduino led 軟體 mixly ide 四 實驗過程 實驗步驟 記錄 資料 分析 1。核心 截圖 2.實驗效果圖 五 實驗結論與體會 通過這次實驗,我體會到...

第二節 delay 延時實現LED燈的閃爍。

第二節 delay 延時實現led燈的閃爍。開場白 上一節鴻哥列出了初學者七大誤區,到底什麼才是初學者關注的核心?那就是裸機奔跑的程式結構。乙個好的程式結構,本身就是乙個微型的多工作業系統。鴻哥教給大家的就是如何編寫這個簡單的作業系統。在main函式迴圈中用switch語句實現多工並行處理的任務切換...