μc/os-ii使用訊號量、事件標誌組、郵箱和訊息佇列這些中間環節來顯現任務之間的通訊,這些中間環節統一被稱為事件。
table 1. 函式ossemcreat
函式名ossemcreat
函式原形
os_event *ossemcreat(intu16 cnt);
功能描述
建立訊號量
輸入引數
cnt:訊號量的初始值,一般為0,可以取0到65535之間的任何值
輸出引數
無返回值
新建訊號量的指標
先決條件
無被呼叫函式
無table 2. 函式ossempost
函式名ossempost
函式原形
int8u ossempost(os_event *pevent));
功能描述
傳送訊號量,訊號量的值加1
輸入引數
pevent:所傳送訊號量的指標
輸出引數
無返回值
os_no_event:傳送成功;
os_err_event_type:pevent不是訊號量型別;
os_sem_ovf:訊號量的值溢位;
先決條件
無被呼叫函式
無table 3. 函式ossempend
函式名ossempost
函式原形
int8u ossempost(os_event *pevent,int16u timeout,int8u *err);
功能描述
等待(接收)訊號量,訊號量的值減1
輸入引數1
pevent:所傳送訊號量的指標
輸入引數2
timeout:等待訊號量的最長時間,以時鐘節拍為單位
輸入引數3
err:函式執行效果的變數位址。
os_no_err :訊號量不為零。
os_timeout :訊號量沒有在指定數目的時鐘週期內被設定。
os_err_pend_isr :從中斷呼叫該函式。雖然規定了不允許從中斷呼叫該函式,但μc/os-ⅱ仍然包含了檢測這種情況的功能。
os_err_event_type :pevent 不是指向訊號量的指標。
輸出引數
無先決條件
無被呼叫函式
無table 4. 函式osflagcreat
函式名osflagcreat
函式原形
os_flag_grp * osflagcreat(os_flags flags,int8u *err);
功能描述
建立事件標誌組
輸入引數1
flags標誌組中各標誌的初始值:
輸入引數2
err:函式執行效果的變數位址
輸出引數
無先決條件
無被呼叫函式
無乙個郵箱只能傳送乙個訊息的位址
訊息佇列可以存放多個訊息,用乙個指標陣列構建訊息佇列,訊息本身不參加排隊,而是用指向不同訊息的指標進行排隊。
任務管理 C OS II
使用者任務 一般分為兩種。開始任務 void start task void pdata 其他任務 void other task void pdata define start stk size 128 os stk start task stk start stk size typedef st...
C OS II 示例 ucos任務的掛起與刪除
1 設計乙個只有乙個任務mytask的應用程式。2 在 1 的任務mytask中再建立乙個任務yourtask。要求當任務yourtask執行20次後,掛起任務mytask 當任務yourtask執行40次後,恢復任務mytask。要求任務mytask和任務yourtask執行一段時間後,使任務my...
c osII 系統學習 任務
c os 全稱為micro control operation system 它是一款基於 rom執行的可裁剪搶占式實時多工核心系統。c os 系統一般都擁有臨界 段,所謂臨界 段就是處理時不可分割的 通常進入臨界 段時要開中斷,執行玩完之後立即開啟。實時作業系統為多工系統,當執行乙個任務 執行緒 ...