1、函數(shù) uxTaskPriorityGet()
此函數(shù)用來獲取指定任務(wù)的優(yōu)先級,要使用此函數(shù)的話宏 INCLUDE_uxTaskPriorityGet 應(yīng) 該定義為 1。
2、函數(shù) vTaskPrioritySet()
此 函 數(shù) 用 于 改 變 某 一 個 任 務(wù) 的 任 務(wù) 優(yōu) 先 級 , 要 使 用 此 函 數(shù) 的 話 宏 INCLUDE_vTaskPrioritySet 應(yīng)該定義為 1。
3、uxTaskGetSystemState()
此函數(shù)用于獲取系統(tǒng)中所有任務(wù)的任務(wù)壯態(tài),每個任務(wù)的壯態(tài)信息保存在一個 TaskStatus_t 類型的結(jié)構(gòu)體里面,這個結(jié)構(gòu)體里面包含了任務(wù)的任務(wù)句柄、任務(wù)名字、堆棧、優(yōu)先級等信息, 要使用此函數(shù)的話宏 configUSE_TRACE_FACILITY 應(yīng)該定義為 1。
4、函數(shù) vTaskGetInfo()
此函數(shù)也是用來獲取任務(wù)壯態(tài)的,但是是獲取指定的單個任務(wù)的壯態(tài)的,任務(wù)的壯態(tài)信息 填充到參數(shù) pxTaskStatus 中,這個參數(shù)也是 TaskStatus_t 類型的。要使用此函數(shù)的話宏 configUSE_TRACE_FACILITY 要定義為 1。
5、函數(shù) xTaskGetApplicationTaskTag()
此函數(shù)用于獲取任務(wù)的 Tag(標(biāo)簽)值,任務(wù)控制塊中有個成員變量 pxTaskTag 來保存任務(wù)的 標(biāo)簽值。標(biāo)簽的功能由用戶自行決定,此函數(shù)就是用來獲取這個標(biāo)簽值的,FreeRTOS 系統(tǒng)內(nèi)核 是不會使用到這個標(biāo)簽的。要使用此函數(shù)的話宏 configUSE_APPLICATION_TASK_TAG 必須為 1。
6、函數(shù) xTaskGetCurrentTaskHandle()
此函數(shù)用于獲取當(dāng)前任務(wù)的任務(wù)句柄,其實(shí)獲取到的就是任務(wù)控制塊,在前面講解任務(wù)創(chuàng) 建 函 數(shù) 的 時 候 說 過 任 務(wù) 句 柄 就 是 任 務(wù) 控制。如 果 要 使 用 此 函 數(shù) 的 話 宏INCLUDE_xTaskGetCurrentTaskHandle 應(yīng)該為 1。
7、函數(shù) xTaskGetHandle()
此函數(shù)根據(jù)任務(wù)名字獲取任務(wù)的任務(wù)句柄,在使用函數(shù) xTaskCreate()或 xTaskCreateStatic()創(chuàng)建任務(wù)的時候都會給任務(wù)分配一個任務(wù)名,函數(shù) xTaskGetHandle()就是使用這個任務(wù)名字來 查詢其對應(yīng)的任務(wù)句柄的。要使用此函數(shù)的話宏 INCLUDE_xTaskGetHandle 應(yīng)該設(shè)置為 1。
8、函數(shù) xTaskGetIdleTaskHandle()
此 函 數(shù) 用 于 返 回 空 閑 任 務(wù) 的 任 務(wù) 句 柄 , 要 使 用 此 函 數(shù) 的 話 宏 INCLUDE_xTaskGetIdleTaskHandle 必須為 1。
9、函數(shù) uxTaskGetStackHighWaterMark()
每個任務(wù)都有自己的堆棧,堆棧的總大小在創(chuàng)建任務(wù)的時候就確定了,此函數(shù)用于檢查任務(wù)從創(chuàng)建好到現(xiàn)在的歷史剩余最小值,這個值越小說明任務(wù)堆棧溢出的可能性就越大!FreeRTOS 把這個歷史剩余最小值叫做“高水位線”。此函數(shù)相對來說會多耗費(fèi)一點(diǎn)時間,所以在代碼調(diào)試階段可以使用,產(chǎn)品發(fā)布的時候最好不要使用。要使用此函數(shù)的話宏INCLUDE_uxTaskGetStackHighWaterMark 必須為 1。
10、函數(shù) eTaskGetState()
此函數(shù)用于查詢某個任務(wù)的運(yùn)行壯態(tài),比如:運(yùn)行態(tài)、阻塞態(tài)、掛起態(tài)、就緒態(tài)等,返回值是個枚舉類型。要使用此函數(shù)的話宏 INCLUDE_eTaskGetState 必須為 1。
11、函數(shù) pcTaskGetName()
根據(jù)某個任務(wù)的任務(wù)句柄來查詢這個任務(wù)對應(yīng)的任務(wù)名。
12、函數(shù) xTaskGetTickCount()
此函數(shù)用于查詢?nèi)蝿?wù)調(diào)度器從啟動到現(xiàn)在時間計(jì)數(shù)器 xTickCount 的值。xTickCount 是系統(tǒng) 的時鐘節(jié)拍值,并不是真實(shí)的時間值。每個滴答定時器中斷 xTickCount 就會加 1,一秒鐘滴答 定時器中斷多少次取決于宏 configTICK_RATE_HZ。理論上 xTickCount 存在溢出的問題,但是 這個溢出對于 FreeRTOS 的內(nèi)核沒有影響,但是如果用戶的應(yīng)用程序有使用到的話就要考慮溢 出了。什么時候溢出取決于宏 configUSE_16_BIT_TICKS,當(dāng)此宏為 1 的時候 xTixkCount 就是個 16 位的變量,當(dāng)為 0 的時候就是個 32 位的變量。
13、函數(shù) xTaskGetTickCountFromISR()
此函數(shù)是 xTaskGetTickCount()的中斷級版本,用于在中斷服務(wù)函數(shù)中獲取時間計(jì)數(shù)器xTickCount 的值。
14、函數(shù) xTaskGetSchedulerState()
此函數(shù)用于獲取 FreeRTOS 的任務(wù)調(diào)度器運(yùn)行情況:運(yùn)行?關(guān)閉?還是掛起!要使用此函數(shù)的話宏 INCLUDE_xTaskGetSchedulerState 必須為 1。
15、函數(shù) uxTaskGetNumberOfTasks()
此函數(shù)用于查詢系統(tǒng)當(dāng)前存在的任務(wù)數(shù)量。
16、函數(shù) vTaskList()
此函數(shù)會創(chuàng)建一個表格來描述每個任務(wù)的詳細(xì)信息。
17、函數(shù) vTaskGetRunTimeStats()
FreeRTOS 可以通過相關(guān)的配置來統(tǒng)計(jì)任務(wù)的運(yùn)行時間信息,任務(wù)的運(yùn)行時間信息提供了每個任務(wù)獲取到 CPU 使用權(quán)總的時間。函數(shù) vTaskGetRunTimeStats()會將統(tǒng)計(jì)到的信息填充到一個表里面,表里面提供了每個任務(wù)的運(yùn)行時間和其所占總時間的百分比。
18、函數(shù) vTaskSetApplicationTaskTag()
此函數(shù)是為高級用戶準(zhǔn)備的,此函數(shù)用于設(shè)置某個任務(wù)的標(biāo)簽值 ,這個標(biāo)簽值的具體函數(shù)和用法由用戶自行決定,F(xiàn)reeRTOS 內(nèi)核不會使用這個標(biāo)簽值,如果要使用此函數(shù)的話宏configUSE_APPLICATION_TASK_TAG 必須為 1。
19、函數(shù) SetThreadLocalStoragePointer()
此函數(shù)用于設(shè)置線程本地存儲指針的值,每個任務(wù)都有它自己的指針數(shù)組來作為線程本地存儲,使用這些線程本地存儲可以用來在任務(wù)控制塊中存儲一些應(yīng)用信息,這些信息只屬于任務(wù)自己的。
20、函數(shù) GetThreadLocalStoragePointer()
此函數(shù)用于獲取線程本地存儲指針的值, 如 果 要 使 用 此 函 數(shù) 的 話 宏configNUM_THREAD_LOCAL_STORAGE_POINTERS 不能為 0。
-
嵌入式
+關(guān)注
關(guān)注
5083文章
19131瀏覽量
305543 -
API
+關(guān)注
關(guān)注
2文章
1502瀏覽量
62080 -
FreeRTOS
+關(guān)注
關(guān)注
12文章
484瀏覽量
62202
發(fā)布評論請先 登錄
相關(guān)推薦
評論