Ucosiii學習筆記(一)建立任務

2021-10-04 17:35:36 字數 805 閱讀 3711

「os.h」檔案:為ucosiii的主標頭檔案,其包含以下標頭檔案「os_cfg.h」,「cpu.h」,「cpu_core.h」,「lib_bef.h」,「os_type.h」,「os_cpu.h」.

2.建立應用程式任務,必要的操作是為任務分配任務控制模組(os_tcb),宣告任務堆疊,宣告任務函式的原型。並在主函式中建立開始任務

//任務的優先順序

//任務堆疊的大小

//定義任務模組

;//定義任務堆疊大小

static

void);

//宣告任務函式原型

其中任務優先順序是數字約小級別約高,其值必須設定在1到os_cfg_prio_max-2之間,其中0與os_cfg_prio_max-2優先順序用於ucosiii自己保留,os_cfg_prio_max其在os_cfg.**件中定義。

對於任務堆疊的大小定義需要根據所使用mcu的大小去做決定,假如你想分配1kb的空間,而cpu_stk為32為,則可以設定堆疊大小為256.

主函式如下:

int

main

(void

)

/* start task */

static

void

(void

*p_arg)

static

void

(void

*p_arg)

}static

void

(void

*p_arg)

}

UCOS III學習筆記(一)

使用者指定元素的位數 如32bit 那麼ospriotbl結構即為任務就緒表,其中每乙個元素是乙個使用者制定位數的元素 os priogethighest 函式遍歷這個陣列並找到第乙個不為零的元素 找到那一行 計算這個元素的前導零個數之後即可得到最高的優先順序任務 前導零為乙個二進位制數第乙個1前出...

正點原子ucosIII學習筆記(一)

最近又開了新坑,在學過stm32後,我選擇去學學嵌入式作業系統,就從ucosiii開始好了。我看的是正點原子ucosiii的課程。第一節主要是介紹了下裸機跑程式和加作業系統跑程式的區別 裸機的話,乙個程式可分為前端和後端。後端就是乙個大迴圈,通過乙個死迴圈,不斷的呼叫hadeware裡函式的api,...

uCOS III筆記之任務建立

一直在用但並沒用深入的去了解,就好像你有乙個平時經常聊條,但是彼此不了解各自的內心世界,這是一種尷尬只是一種不負責任。再加上感覺自己要老了 剩下的時日不多了 void ostaskcreate os tcb p tcb,任務控制塊指標 cpu char p name,命名任務 os task ptr...