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