導航:首頁 > 編程語言 > ostasksuspend源代碼

ostasksuspend源代碼

發布時間:2025-06-21 22:06:41

① ucos-ii的系統函數有哪些啊有什麼特殊的嗎

UC/OSⅡ 基本函數

************************************************************************************************
* 事件標志管理 (EVENT FLAGS MANAGEMENT)
*
* OSFlagAccept() 檢查事件標志組函數(標志組的指針、事件標志位、等待事件標志位的方式、錯誤碼指針)
* OSFlagCreate() 建立一個事件標志組(初值、錯誤碼)
* OSFlagDel() 刪除一個事件標志組(指針、條件值、錯誤值)
* OSFlagPend() 等待事件標志組的事件標志位(事件組指針、需要檢查的標志位、等待事件標志位的方式、
* 允許等待的時鍾節拍、出錯代碼的時鍾節拍)
* OSFlagPost() 置位或清0事件標志組中的標志位(指針、標志位、條件值、錯誤碼)
* OSFlagQuery() 查詢事件標志組的當前事件標志狀態(事件標志組的指針、錯誤代碼的指針)
************************************************************************************************

************************************************************************************************
* 消息郵箱管理 (MESSAGE MAILBOX MANAGEMENT)
*
* OSMboxAccept () 查看消息郵箱(消息郵箱指針)
* OSMboxCreate () 建立並初始化一個消息郵箱(msg 參數不為空含內容)
* OSMboxDel () 刪除消息郵箱(消息郵箱指針、刪除條件、出錯代碼指針)
* OSMboxPend () 等待一個消息郵箱函數(消息郵箱指針、允許等待的時鍾節拍、代碼錯誤指針)
* OSMboxPost () 發送消息函數(消息郵箱指針、即將實際發送給任務的消息)
* OSMboxPostOpt () 向郵箱發送一則消息(郵箱指針、消息、條件)
* OSMboxQuery () 查詢一個郵箱的當前狀態(信號量指針、狀態數據結構指針)
************************************************************************************************

************************************************************************************************
* 內存管理項 (MEMORY MANAGEMENT)

* OSMemCreate () 建立並初始化一塊內存區(起始地址、需要的內存塊數目、內存塊大小、返回錯誤的指針)
* OSMemGet () 從內存區分配一個內存塊
* OSMemPut () 釋放一個內存塊,內存塊必須釋放回原先申請的內存區
* OSMemQuery () 得到內存區的信息
************************************************************************************************

************************************************************************************************
* 互斥型信號量項管理 (MUTUAL EXCLUSION SEMAPHORE MANAGEMENT)
*
* OSMutexAccept () 無等待地獲取互斥型信號量[任務不掛起](信號量指針、錯誤代碼)
* OSMutexCreate () 建立並初始化一個互斥型信號量(優先順序繼承優先順序(PIP)、出錯代碼指針)
* OSMutexDel () 刪除互斥型信號量(信號指針、刪除條件、錯誤指針)
* OSMutexPend () 等待一個互斥型信號量(指針、等待超時時限、出錯代碼指針)
* OSMutexPost () 釋放一個互斥型信號量(互斥型信號量指針)
* OSMutexQuery () 查詢一個互斥型信號量的當前狀態(互斥型信號量指針、狀態數據結構指針)
************************************************************************************************

************************************************************************************************
* 消息隊列管理 (MESSAGE QUEUE MANAGEMENT)
*
* OSQAccept () 檢查消息隊列中是否已經有需要的消息(消息隊列的指針)
* OSQCreate () 建立一個消息隊列(消息內存區的基地址(指針數組)、消息內存區的大小)
* OSQDel () 刪除一個消息隊列(消息隊列指針、刪除條件、錯誤指針)
* OSQFlush () 清空消息隊列(指向得到消息隊列的指針)
* OSQPend () 任務等待消息隊列中的消息(消息隊列指針、允許等待的時鍾節拍、代碼錯誤指針)
* OSQPost () 向消息隊列發送一則消息FIFO(消息隊列指針、發送的消息)
* OSQPostFront () 向消息隊列發送一則消息LIFO(消息隊列指針、發送的消息)
* OSQPostOpt () 向消息隊列發送一則消息LIFO(消息隊列指針、發送的消息、發送條件)
* OSQQuery () 查詢一個消息隊列的當前狀態(信號量指針、狀態數據結構指針)
************************************************************************************************

/***********************************************************************************************
* 消息隊列數據 (MESSAGE QUEUE DATA)
************************************************************************************************
*/
隊列控制塊是一個用於維護消息隊列信息的數據結構,它包含了以下的一些域。這里,仍然在各個變數前加入
一個[.]來表示它們是數據結構中的一個域。
* 1).OSQPtr: 在空閑隊列控制塊中鏈接所有的隊列控制塊。一旦建立了消息隊列,該域就不再有用了。
* 2).OSQStart: 是指向消息隊列的指針數組的起始地址的指針。用戶應用程序在使用消息隊列之前必須先定義該數組
* 3).OSQEnd: 是指向消息隊列結束單元的下一個地址的指針。該指針使得消息隊列構成一個循環的緩沖區。
* 4).OSQIn: 是指向消息隊列中插入下一條消息的位置的指針。當.OSQIn和.OSQEnd相等時,.OSQIn被調整指向
消息隊列的起始單元。
* 5).OSQOut: 是指向消息隊列中下一個取出消息的位置的指針。當.OSQOut和.OSQEnd相等時,.OSQOut被調整指向消息隊列的起始單元。
* 6).OSQSize: 是消息隊列中總的單元數。該值是在建立消息隊列時由用戶應用程序決定的。在uC/OS-II中,該值最大可以是65,535。
* 7).OSQEntries: 是消息隊列中當前的消息數量。當消息隊列是空的時,該值為0。當消息隊列滿了以後,該值和 .OSQSize值一樣。 在消息隊列剛剛建立時,該值為0。
***********************************************************************************************
*/

/***********************************************************************************************
* 信號量管理 (SEMAPHORE MANAGEMENT)
*
* OSSemAccept() 無條件地等待請求一個信號量函數
* OSSemCreate() 建立並初始化一個信號量(輸入一個信號量值)
* OSSemDel() 刪除一個信號量(信號指針、刪除條件、錯誤指針)
* OSSemPend () 等待一個信號量函數(信號量指針、允許等待的時鍾節拍、代碼錯誤指針)
* OSSemPost () 發出一個信號量函數(信號量指針)
* OSSemQuery () 查詢一個信號量的當前狀態(信號量指針、狀態數據結構指針)
*/

/*
************************************************************************************************
* 任務管理 (TASK MANAGEMENT)
*
* OSTaskChangePrio () 改變一個任務的優先順序(任務舊的優先順序、任務新的優先順序)
* OSTaskCreate () 建立任務(任務代碼指針、傳遞參數指針、分配任務堆棧棧頂指針、任務優先順序)
* OSTaskCreateExt () 建立擴展任務(任務代碼指針/傳遞參數指針/分配任務堆棧棧頂指針/分配任務優先順序
* //(未來的)優先順序標識(與優先順序相同)/分配任務堆棧棧底指針/指定堆棧的容量(檢驗用)
* //指向用戶附加的數據域的指針/建立任務設定選項)
* OSTaskDel () 刪除任務(任務的優先順序)
* OSTaskDelReq () 請求一個任務刪除其它任務或自身?(任務的優先順序)
* OSTaskResume () 喚醒一個用OSTaskSuspend()函數掛起的任務(任務的優先順序)
* OSTaskStkChk () 檢查任務堆棧狀態(任務優先順序、檢驗堆棧數據結構)
* OSTaskSuspend () 無條件掛起一個任務(任務優先順序)
* OSTaskQuery () 獲取任務信息(任務指針、保存數據結構指針)
************************************************************************************************
*/

/*
************************************************************************************************
* 時鍾管理項 (TIME MANAGEMENT)
*
* OSTimeDly () 任務延時函數(時鍾節拍數)
* OSTimeDlyHMSM () 將一個任務延時若干時間(設定時、分、秒、毫秒)
* OSTimeDlyResume () 喚醒一個用OSTimeDly()或OSTimeDlyHMSM()函數的任務(優先順序)
* OSTimeGet () 獲取當前系統時鍾數值
* OSTimeSet () 設置當前系統時鍾數值
************************************************************************************************
*/

/***********************************************************************************************
* 混雜函數定義
*
* OSInit() 初始化UCOS-II函數
* OSIntEnter() 中斷函數正在執行
* OSIntExit() 中斷函數已經完成(脫離中斷)
* OSSchedLock() 給調度器上鎖
* OSSchedUnlock() 給調度器解鎖
* OSStart() 啟動多個任務
* OSStatInit() 統計任務初始化
* OSVersion() 獲得版本
************************************************************************************************/

/***********************************************************************************************
* 內部函數原型 INTERNAL FUNCTION PROTOTYPES
* 你在應用程序中不能使用它們 (Your application MUST NOT call these functions)
*
* OS_Dummy() 建立一個虛擬函數
* OS_EventTaskRdy() 使一個任務進入就緒態(OS_EVENT *pevent, void *msg, INT8U msk)
* OS_EventTaskWait() 使一個任務進入等待某事件發生狀態(ECB指針)
* OS_EventTO() 由於超時而將任務置為就緒態(ECB指針)
* OS_EventWaitListInit() 事件控制塊列表初始化(事件控制塊指針)
* OS_FlagInit() 初始化事件標志結構
* OS_FlagUnlink() 把這個OS_FLAG_NODE從事件標志組的等待任務鏈表中刪除(OS_FLAG_NODE *pnode)
* OS_MemInit() 初始化內存分區
* OS_QInit() 初始化事件隊列結構
* OS_Sched() 任務調度函數
* OS_TaskIdle() 空閑任務函數(指向一個數據結構)
* OS_TaskStat() 統計任務(指向一個數據結構)
* OS_TCBInit() 初始化任務控制塊TCB(優先順序指針、棧頂指針、棧底指針、任務標志符、
* 堆棧容量、擴展指針、選擇項)
************************************************************************************************
*/

閱讀全文

與ostasksuspend源代碼相關的資料

熱點內容
抓取用什麼編程語言 瀏覽:805
在文件夾中怎麼查找excel中的內容 瀏覽:424
定位約會神器app有哪些 瀏覽:416
鄭州水貨蘋果6 瀏覽:757
qq群下載安全掃描失敗 瀏覽:402
如何把文件內容復制到另一個文件 瀏覽:549
易語言寫到文件utf8 瀏覽:805
js焦點圖教程 瀏覽:306
u盤有病毒文件會沒嗎 瀏覽:495
出售win7舊電腦如何清理數據 瀏覽:966
最漂亮的彩虹視頻教程 瀏覽:100
優酷舊版本686下載 瀏覽:408
拉取游戲配置文件失敗 瀏覽:982
編程中回顯是什麼意思 瀏覽:350
word中怎麼插入鏈接文件 瀏覽:580
meta文件可以刪除嗎 瀏覽:386
如何在電腦上加包測試網路 瀏覽:705
jsp微信開發 瀏覽:419
word關閉特別慢 瀏覽:784
c語言獲取文件夾屬性 瀏覽:918

友情鏈接