函式
功能ostaskcreate
建立任務
ostaskdel
刪除任務
ostasksuspend
掛起任務
ostaskresume
恢復任務
os_cfg_sched_round_robin_en變數置1
使能時間片輪轉排程
osschedroundrobincfg
放棄時間片輪轉排程
ostimedlyhmsm
延時函式(前四個引數對應 時/分/秒/毫秒)
ostimeget
換區系統節拍計數器的值
micrium是ucos原始碼
心跳頻率【1s跳200次】
ucos-iii的delay_us不發生任務排程,delay_ms發生任務排程
使用ucos-iii之前先呼叫osinit(&err)初始化函式
任務開啟用osstart
只有開啟了時間片輪轉,才能多個任務設定同樣的優先順序哦
當任務中要使用臨界區的時候,需要宣告cpu_sr_alloc()。
建立任務理論不需要加臨界區保護,因為建立函式內部已經進行了臨界區保護。但是加上也無妨。
注意:因為ucos-iii的任務是while(1)死迴圈的形式,我們在得在合適的位置上進行排程器的任務切換,比如:延時函式…
ucos-iii
任務管理
系統任務
任務狀態
任務排程點(任務排程的時間點)
任務切換種類
ucos-iii下的中斷服務函式編寫範例【參考串列埠中斷】
osintenter(); //進入中斷
...osintexit(); //退出中斷
cpu_sr_alloc();
os_critical_enter(); //進入臨界區
os_critical_exit(); //進入臨界區
函式
功能ostmrcreate
建立定時器並制定執行模式
ostmrdel
刪除定時器
ostmrremainget
獲取定時器的剩餘時間
ostmrstart
啟動定時器
ostmrstateget
獲取當前定時器的狀態
ostmrstop
停止計數器倒計時
等待(請求)訊號量:pend
傳送(釋放)訊號量:post
訊號量可以為
計數型(os_sem_ctr決定計數型的位數)
訊號量的api函式【可在ucosiii_core/os_sem.c中具體檢視】
函式功能
ossemcreate
建立乙個訊號量
ossemdel
刪除乙個訊號量
ossempend
請求或等待乙個訊號量(-1)
ossempendabrot
取消等待
ossempost
釋放或發出乙個訊號量(+1)
ossemset
強制設定乙個訊號量的值
互斥訊號量 api
函式功能
osmutexcreate
建立乙個互斥訊號量
osmutexdel
刪除乙個互斥訊號量
osmutexpend
等待乙個互斥訊號量
osmutexpendabrot
取消等待
osmutexpost
釋放或者發布乙個互斥訊號量
函式功能
ostasksempend
等待乙個任務訊號量
ostasksempendabort
取消等待任務訊號量
ostasksempost
發布任務訊號量
ostasksemset
強行設定任務訊號量計數
訊息佇列的api函式
函式功能
osqcreate
建立乙個訊息佇列
osqdel
刪除乙個訊息佇列
osqflush
情況訊息佇列
osqpend
等待訊息
osqpendabort
取消等待訊息
osqpost
向訊息佇列發布一則訊息
函式功能
ostaskpend
等待訊息
ostaskpendabort
取消瞪大訊息
ostaskpost
向任務發布一則訊息
ostaskflush
清空任務的訊息佇列
HEVC 知識點總結(補充版)
命令行為 ffmpeg i 1.mp4 out.yuv 將 y4m 格式的影象序列轉換為 4 2 0 的 yuv 影象序列 ffmpeg f yuv4mpegpipe i test.y4m pix fmt yuv420p test.yuv 2.設定程式 配置檔案 命令列 c 3.yuv每乙個畫素佔空...
arm學習小知識點彙總
有什麼錯誤希望大家指出來,一起學習 1.詳細說明arm有哪幾種工作模式,並說明什麼情況下進入相應的工作模式執行。答 arm 一共有 7 種工作模式 user 使用者 mode number 0b10000 正常程式執行的模式 不能切換到其它模式 system 系統 mode number 0b111...
演算法知識點彙總
1.求陣列元素之間相鄰的元素個數或者求字串的長度 指向同乙個陣列的不同元素的兩個指標可以相減,其差便是兩個指標之間相隔的元素個數。例如在乙個字串中,讓乙個指向該串的首元素,讓另乙個指向字串的結束符,兩個指標相減,其差便是字串的長度 2.怎樣判斷兩個指標指向的是陣列的同乙個元素?指標可以互相比較。如指...