0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FreeRTOS中其他任務(wù)API函數(shù)

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-06 16:54 ? 次閱讀

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。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5083

    文章

    19131

    瀏覽量

    305543
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1502

    瀏覽量

    62080
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62202
收藏 人收藏

    評論

    相關(guān)推薦

    FreeRTOS任務(wù)管理

    任務(wù)FreeRTOS 中最基本的調(diào)度單元,它是一段可執(zhí)行的代碼,可以獨(dú)立運(yùn)行。FreeRTOS 任務(wù)是基于優(yōu)先級的搶占式調(diào)度,優(yōu)先級
    的頭像 發(fā)表于 11-27 17:03 ?1012次閱讀

    freertos的軟件定時器的回調(diào)函數(shù)里面能否調(diào)用其他API函數(shù)?

    freertos的軟件定時器的回調(diào)函數(shù)里面能否調(diào)用其他API函數(shù)?比如在回調(diào)函數(shù)里添加xSema
    發(fā)表于 07-28 08:00

    FreeRTOS任務(wù)的使用

    FreeRTOS最基本的任務(wù)操作就是任務(wù)創(chuàng)建與刪除,其API如下表:1.1動態(tài)任務(wù)創(chuàng)建xTaskCreate()此
    發(fā)表于 02-18 07:14

    FreeRTOSAPI函數(shù)和配置選項(xiàng)參考手冊資料免費(fèi)下載

    在本文檔API函數(shù)分為五組:任務(wù)和調(diào)度程序相關(guān)函數(shù)、隊(duì)列相關(guān)函數(shù)、信號量相關(guān)
    發(fā)表于 03-08 08:00 ?65次下載
    <b class='flag-5'>FreeRTOS</b>的<b class='flag-5'>API</b><b class='flag-5'>函數(shù)</b>和配置選項(xiàng)參考手冊資料免費(fèi)下載

    FreeRTOS任務(wù)如何創(chuàng)建和刪除?

    FreeRTOS移植到Cortex-M3硬件平臺的文章,我們已經(jīng)見過任務(wù)創(chuàng)建API,但那篇文章的重點(diǎn)在于如何移植FreeRTOS,本文將
    的頭像 發(fā)表于 03-11 18:08 ?2935次閱讀

    FreeRTOS任務(wù)控制API函數(shù)介紹

    FreeRTOS任務(wù)控制API函數(shù)主要實(shí)現(xiàn)任務(wù)延時、任務(wù)掛起、解除
    的頭像 發(fā)表于 03-19 10:19 ?2300次閱讀

    FreeRTOS任務(wù)應(yīng)用函數(shù)介紹

    * constpulTotalRunTime ); 該函數(shù)向TaskStatus_t結(jié)構(gòu)體填充相關(guān)信息,系統(tǒng)每一個任務(wù)的信息都可以填充到TaskStatus_t結(jié)構(gòu)體數(shù)組,數(shù)組大
    的頭像 發(fā)表于 03-19 10:22 ?2579次閱讀

    FreeRTOSAPI函數(shù)功能分析及調(diào)用方法

    FreeRTOSAPI函數(shù)功能分析及調(diào)用方法說明。
    發(fā)表于 03-26 11:50 ?33次下載

    FreeRTOS高級篇2---FreeRTOS任務(wù)創(chuàng)建分析

    FreeRTOS基礎(chǔ)系列《FreeRTOS系列第10篇---FreeRTOS任務(wù)創(chuàng)建和刪除》中介紹了任務(wù)創(chuàng)建
    發(fā)表于 01-26 17:42 ?23次下載
    <b class='flag-5'>FreeRTOS</b>高級篇2---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務(wù)</b>創(chuàng)建分析

    FreeRTOS系列第18篇---FreeRTOS隊(duì)列API函數(shù)

    FreeRTOS為操作隊(duì)列提供了非常豐富的API函數(shù),包括隊(duì)列的創(chuàng)建、刪除,靈活的入隊(duì)和出隊(duì)方式、帶中斷保護(hù)的入隊(duì)和出隊(duì)等等。下面就來詳細(xì)...
    發(fā)表于 01-26 17:44 ?11次下載
    <b class='flag-5'>FreeRTOS</b>系列第18篇---<b class='flag-5'>FreeRTOS</b>隊(duì)列<b class='flag-5'>API</b><b class='flag-5'>函數(shù)</b>

    FreeRTOS系列第11篇---FreeRTOS任務(wù)控制

    FreeRTOS任務(wù)控制API函數(shù)主要實(shí)現(xiàn)任務(wù)延時、任務(wù)掛起、解除
    發(fā)表于 01-26 17:54 ?12次下載
    <b class='flag-5'>FreeRTOS</b>系列第11篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務(wù)</b>控制

    FreeRTOS系列第10篇---FreeRTOS任務(wù)創(chuàng)建和刪除

    FreeRTOS移植到Cortex-M3硬件平臺的文章,我們已經(jīng)見過任務(wù)創(chuàng)建API,但那篇文章的重點(diǎn)在于如何移植FreeRTOS,本文將
    發(fā)表于 01-26 17:56 ?13次下載
    <b class='flag-5'>FreeRTOS</b>系列第10篇---<b class='flag-5'>FreeRTOS</b><b class='flag-5'>任務(wù)</b>創(chuàng)建和刪除

    FreeRTOS任務(wù)句柄

    摘要:學(xué)過用過FreeRTOS的人都知道,在創(chuàng)建任務(wù)時候我們都要定義一個任務(wù)句柄,這個任務(wù)句柄有啥含義?書上的解釋是任務(wù)創(chuàng)建成功以后會返回此
    的頭像 發(fā)表于 04-13 08:18 ?2725次閱讀

    freeRTOS任務(wù)

    freeRTOS系統(tǒng)的任務(wù)切換的具體過程最終都是在pendSV中斷服務(wù)函數(shù)里面完成的。
    的頭像 發(fā)表于 02-10 11:02 ?1648次閱讀
    <b class='flag-5'>freeRTOS</b>的<b class='flag-5'>任務(wù)</b>

    FreeRTOS的空閑任務(wù)是什么

    空閑任務(wù)FreeRTOS 必不可少的一個任務(wù)其他 RTOS 類系統(tǒng)也有空閑任務(wù),比如 uC/OS??疵志椭?,空閑
    的頭像 發(fā)表于 07-30 10:55 ?1282次閱讀