天天看點

STM32 Ucos-III系統中常用函數

Ucos-III系統中的基礎函數

  • Ucos-III 初始化函數
  • 建立任務函數(不能在中斷中調用)
  • 開啟 Ucos-III
  • 删除任務的函數
  • 發起任務切換函數
  • 任務挂起函數
  • 任務恢複函數

注意: 我們可以多次使用

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系統中的存儲管理

  • 建立存儲區
  • 記憶體申請函數
  • 釋放記憶體函數

繼續閱讀