Ucos-III系統中的基礎函數
- Ucos-III 初始化函數
- 建立任務函數(不能在中斷中調用)
- 開啟 Ucos-III
- 删除任務的函數
- 發起任務切換函數
- 任務挂起函數
- 任務恢複函數
注意: 我們可以多次使用 OSTaskSuspend();
函數來挂起同一個任務,是以、我們也需要調用同樣次數的 OSTaskResume();
函數才可以恢複挂起的任務。
OSTaskSuspend();
OSTaskResume();
Ucos-III系統中的時間片排程
排程時間片輪轉代碼需要将 os_cfg.h 中的宏
OS_SCHED_ROUND_ROBIN_EN
置為1
- 函數失能 Ucos-III 或失能 Ucos-III
- 放棄本次時間片函數
Ucos-III系統中的中斷服務函數
void XXX_Handler(void)
{
OSIntEnter(); /*進入中斷*/
/*使用者自行編譯的中斷服務程式*/
OSIntExit(); /*觸發任務切換軟中斷*/
}
Ucos-III系統中的定時器
- 建立定時器函數
- 删除定時器函數
- 重新觸發定時器函數
Ucos-III系統中的一般信号量
- (阻塞式)請求信号量函數
- 發送信号量函數
- 建立一個信号量函數
Ucos-III系統中的互斥信号量
- 建立互斥型信号量
- 請求互斥信号量
- 發送互斥信号量
Ucos-III系統中的内嵌信号量
- 等待任務信号量
- 取消等待任務信号量
- 釋出任務信号量
- 強行設定任務信号量計數
Ucos-III系統中的一般消息隊列
- 建立消息隊列
- 等待消息隊列
- 向消息隊列發送消息
Ucos-III系統中的任務内建消息隊列
- 等待消息
- 發送消息
- 取消等待消息
- 清空消息隊列
Ucos-III系統中的事件标志組
- 建立事件标志組
- 等待事件标志組
- 向事件标志組釋出标志
Ucos-III系統中的存儲管理
- 建立存儲區
- 記憶體申請函數
- 釋放記憶體函數