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