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

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

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

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

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

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。

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

    關(guān)注

    5046

    文章

    18821

    瀏覽量

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

    關(guān)注

    2

    文章

    1461

    瀏覽量

    61495
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    483

    瀏覽量

    61729
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FreeRTOS任務(wù)管理

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

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

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

    對(duì)FreeRTOS任務(wù)的使用

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

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

    在本文檔,API函數(shù)分為五組:任務(wù)和調(diào)度程序相關(guān)函數(shù)、隊(duì)列相關(guān)函數(shù)、信號(hào)量相關(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)參考手冊(cè)資料免費(fèi)下載

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

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

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

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

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

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

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

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

    FreeRTOS高級(jí)篇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>高級(jí)篇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ì)等等。下面就來(lái)詳細(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ù)延時(shí)、任務(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硬件平臺(tái)的文章,我們已經(jīng)見(jiàn)過(guò)任務(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é)過(guò)用過(guò)FreeRTOS的人都知道,在創(chuàng)建任務(wù)時(shí)候我們都要定義一個(gè)任務(wù)句柄,這個(gè)任務(wù)句柄有啥含義?書(shū)上的解釋是任務(wù)創(chuàng)建成功以后會(huì)返回此
    的頭像 發(fā)表于 04-13 08:18 ?2524次閱讀

    freeRTOS任務(wù)

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

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

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