1.標頭檔案的配置:
#include "stm32f10x.h"
#include "stm32f10x_conf.h"
#include "ucos_ii.h"
......
2.任務堆疊配置:
os_stk led0_task_stk[64];
os_stk led1_task_stk[64]; /*定義兩個任務的堆疊陣列*/
3.對硬體的配置:rcc/gpio/tim/uart的時鐘,模式配置;
void bsp_init(void) //硬體配置
3.main函式操作任務:
int main(void)
任務函式:
osinit();
ostaskcreate();
ostaskcreateext();
引數:task 指向任務**的指標。
pdata 指向乙個型別可以選擇的資料區,很多時候是(void *)0.
ptos 指向任務堆疊棧頂的指標。任務堆疊用於儲存區域性變數、函式引數、返回位址及中斷時cpu暫存器的狀 態。如果初始化常量os_stk_growth設為1(在os_cpu.h中定義),將堆疊設為stack grows from high to low memory on arm ,此時ptos應該指向任務堆疊空間的最高位址。
prio 任務的優先順序。數字越小,優先順序越高。
id 任務的標識,可以設定同優先順序。
pbos 指向堆疊低端的指標。
stk_size 指定任務堆疊的大小。
pext 定義資料結構的指標,很多時候是(void *)0.
例子:os_stk *taskstk[1024];
void main(void)
void task(void *pdata)
}ostaskdel();
引數:任務的優先順序。
ostaskdelreq();
引數:所刪除任務的優先順序
例子:請求刪除其它任務的任務 ( 任務 b)
void requestortask (void *pdata)
4-18
}/*應用程式***/ (4)}}
需要刪除自己的任務( ( 任務 a)
void tasktobedeleted (void *pdata)
else
}
ucosII學習筆記
以前很少接觸過嵌入式作業系統,這次因為要嘗試研究ucosii這個嵌入式作業系統,看看自己能不能盡快的會使用它,查詢了不少資料。ucosii學習筆記。以下是nathan.yu的 ucosii學習筆記 整理的不錯,自己先借鑑。ucosii學習筆記 by nathan.yu ucos ii特性 l 可剝奪...
ucosII學習筆記 1
核心結構學習 一.臨界段 critical sections 的臨界段也稱為臨界區。程式執行到臨界區時,不允許有中斷進入,因此在進入臨界區前要關中斷,執行完臨界區馬上開中斷。c os 中的這兩個巨集呼叫分別是 os enter critical 和os exit critical 因為這兩個巨集的定...
uCOS II學習筆記(一)
對於系統的學習,一直也來是我非常嚮往的地方。但是由於各種原因一直沒有實現,而且進展也非常緩慢。不管怎麼說,自己一定會努力朝這個方面發展,希望以後能在自己的專案中使用os,從而走上更高的台階。不積跬步,無以至千里。下面將留下我的腳印。1.在呼叫ucos ii功能函式時,中斷總應當是開著的。原因是 任務...