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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FreeRTOS是怎樣使用隊列在任務間傳輸單種類型數據的

工程師鄧生 ? 來源:硬件會 ? 作者:硬件會 ? 2022-09-15 11:41 ? 次閱讀

隊列是先進先出的一種數據結構。

隊列的使用:

第一步:創(chuàng)建隊列,隊列的長度和所包含數據類型的size

8f199202-3120-11ed-ba43-dac502259ad0.png

第二步:往隊列里發(fā)送數據

第三步:從隊列里取出來數據

API函數:

QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength, UBaseType_t uxItemSize );//創(chuàng)建隊列 隊列長度和size BaseType_t xQueueSend(//任務往隊列里發(fā)送消息 QueueHandle_t xQueue,//隊列句柄 const void * pvItemToQueue,//消息 TickType_t xTicksToWait//超時時間 如果返回pdPASS說明消息隊列不滿 ); 示例如下:

8f468a3c-3120-11ed-ba43-dac502259ad0.png

8f58faa0-3120-11ed-ba43-dac502259ad0.png

8f70a2b8-3120-11ed-ba43-dac502259ad0.png




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • FreeRTOS
    +關注

    關注

    12

    文章

    483

    瀏覽量

    61726
  • API函數
    +關注

    關注

    0

    文章

    15

    瀏覽量

    8034

原文標題:FreeRTOS使用隊列在任務間傳輸單種類型數據

文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    freertos最多支持多少個任務

    FreeRTOS是一個輕量級的實時操作系統(tǒng)(RTOS),其設計初衷就是為了提供簡單、可靠且高效的實時任務管理。關于FreeRTOS最多支持多少個任務的問題,實際上并沒有一個固定的上限,
    的頭像 發(fā)表于 09-02 14:21 ?278次閱讀

    如何使用freeRTOS在兩個任務之間傳輸任務數據?

    的問題是不知道如何將傳感器的數據從一個任務傳輸到另一個任務。 或許這根本就不是個好主意,應該在一項任務中完成。 一次讀取的
    發(fā)表于 07-03 07:55

    stm32在freertos中如何接收串口數據

    之前STM32一致裸跑,最近使用FREERTOS感覺還不錯。最近想把UART 弄成一個API,這樣多個任務使用UART發(fā)送數據就不會亂碼了。 發(fā)送數據的API已經寫好了。
    發(fā)表于 05-09 07:06

    Freertos隊列項里的字節(jié)長度是否可以獲???

    最近剛學Freertos, 看到可以獲取Freertos隊列長度,但是隊列項里的字節(jié)長度是否可以獲取? 因為項目中隊列中會存放不定長字節(jié),
    發(fā)表于 04-29 07:17

    freertos任務創(chuàng)建,每一個任務分配的內存是多大才好,怎么計算呢?

    小白剛剛接觸freertos,想問一下就創(chuàng)建任務而言,每一個任務分配的內存是多大才好,怎么計算呢? 另外,每個任務的執(zhí)行周期怎么確定?在任務
    發(fā)表于 04-23 06:39

    freertos串口接收數據后如何發(fā)送給任務?

    正在學freertos。串口中斷接收一幀數據后,放到數組里,如何將數據發(fā)送給任務呢? 如果用消息隊列,是否建立的消息
    發(fā)表于 04-18 06:36

    進程通信的消息隊列介紹

    消息隊列是一種非常常見的進程通信方式。
    的頭像 發(fā)表于 04-08 17:27 ?235次閱讀

    FreeRTOS中的任務管理

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

    基于FreeRTOS的STM32F103系統(tǒng)—隊列

    FreeRTOS中,隊列是實現任務之間同步、互斥和通信的一種重要方法(其他的實現方法有:任務通知、事件組、信號量、互斥量)。
    的頭像 發(fā)表于 11-10 11:37 ?978次閱讀
    基于<b class='flag-5'>FreeRTOS</b>的STM32F103系統(tǒng)—<b class='flag-5'>隊列</b>

    FreeRTOS中如何在多任務中訪問外設?

    FreeRTOS中兩個任務需要輪流使用通過一個SPI獲取外部ADC的采集數據,如何保證兩個任務同步?用隊列,互斥,信號量還是事件標志組更合
    發(fā)表于 11-10 06:23

    基于STM32F407的FreeRTOS學習筆記(5)

    數據結構中有一種很重要的數據結構叫做隊列,其特點是數據先進先出。在FreeRTOS中也有一類隊列
    的頭像 發(fā)表于 11-07 11:43 ?616次閱讀
    基于STM32F407的<b class='flag-5'>FreeRTOS</b>學習筆記(5)

    freertos怎么在任務中修改任務的優(yōu)先級?

    freertos怎么在任務中修改任務的優(yōu)先級
    發(fā)表于 10-11 07:56

    FreeRTOS使用的數據類型有哪些

    數據類型 FreeRTOS 使用的數據類型主要分為 stdint.h 文件中定義的和自己定義的。其中 char 和 char * 定義的變量要特別注意。 FreeRTOS 主要自定義了
    的頭像 發(fā)表于 09-28 11:49 ?632次閱讀

    FreeRTOS任務實現和控制塊

    任務實現 FreeRTOS 官方給出的任務函數模板如下: void vATaskFunction (void *pvParameters){ for ( ; ; ) { -- 任務應用
    的頭像 發(fā)表于 09-28 11:28 ?491次閱讀

    FreeRTOS任務與協程介紹

    FreeRTOS 中應用既可以使用任務,也可以使用協程(Co-Routine),或者兩者混合使用。但是任務和協程使用不同的API函數,因此不能通過隊列(或信號量)將
    的頭像 發(fā)表于 09-28 11:02 ?860次閱讀