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

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

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

FreeRTOS三種數(shù)據(jù)結(jié)構(gòu)區(qū)別

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

FreeRTOS三種數(shù)據(jù)結(jié)構(gòu)區(qū)別(StreamBuffer,MessageBuffer,Queue)

StreamBuffer字節(jié)流緩存,寫入和讀取隨意大小字節(jié)的數(shù)據(jù),沒有限制。

MessageBuffer消息緩存,是寫入4個字節(jié),讀取4個自己,寫入12個字節(jié)就讀取12個字節(jié),寫入和讀取的字節(jié)大小是一樣的。

Queue隊列,比如定義了int類型的數(shù)據(jù),就必須寫入和讀取都是4個字節(jié),不能隨意更改數(shù)據(jù)大小。

Message Buffer是基于Stream Buffer的。只是在每一次發(fā)送數(shù)據(jù)的時候多了四個字節(jié)的空間用于存放消息的大小。根據(jù)這個消息大小,讀取放就可以一次讀取出全部消息的內(nèi)容。

Message Buffer基于Stream Buffer上實現(xiàn)的, 在傳輸?shù)臅r候用4個字節(jié)記錄了sent的內(nèi)容大小這樣子讀取的話,也可以一次讀取對應(yīng)大小的數(shù)據(jù),很適合 串口 接收和發(fā)送數(shù)據(jù),每次的大小不定,但是接受和發(fā)送的數(shù)據(jù)量需要相同

eabcb9a0-342b-11ed-ba43-dac502259ad0.png

eace7c08-342b-11ed-ba43-dac502259ad0.png

eaea273c-342b-11ed-ba43-dac502259ad0.png

eb0ee7f2-342b-11ed-ba43-dac502259ad0.png




審核編輯:劉清

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

    關(guān)注

    34

    文章

    1627

    瀏覽量

    55605
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62274

原文標題:FreeRTOS Message Buffer消息緩存

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

收藏 人收藏

    評論

    相關(guān)推薦

    ADS8688,ADS8688A,ADS8688AT三種型號有什么區(qū)別?如何選擇?

    問一下官方,ADS8688有三種型號,ADS8688,ADS8688A,ADS8688AT,好像還不是同一個手冊上的型號,請問這三種型號有什么區(qū)別?如何選擇?如果芯片有區(qū)別,萬一買錯
    發(fā)表于 12-12 07:51

    LED芯片:三種核心結(jié)構(gòu)解析

    三種主流的LED芯片結(jié)構(gòu):正裝結(jié)構(gòu)、倒裝結(jié)構(gòu)和垂直結(jié)構(gòu),探討它們的設(shè)計特點、優(yōu)勢與局限,以及它們在實際應(yīng)用中的表現(xiàn)。正裝芯片
    的頭像 發(fā)表于 11-15 11:09 ?1103次閱讀
    LED芯片:<b class='flag-5'>三種</b>核心<b class='flag-5'>結(jié)構(gòu)</b>解析

    視覺軟件HALCON的數(shù)據(jù)結(jié)構(gòu)

    在研究機器視覺算法之前,我們需要先了解機器視覺應(yīng)用中涉及的基本數(shù)據(jù)結(jié)構(gòu)。Halcon數(shù)據(jù)結(jié)構(gòu)主要有圖像參數(shù)和控制參數(shù)兩類參數(shù)。圖像參數(shù)包括:image、region、XLD,控制參數(shù)包括:string、integer、real、handle、tuple數(shù)組等。
    的頭像 發(fā)表于 11-14 10:20 ?476次閱讀
    視覺軟件HALCON的<b class='flag-5'>數(shù)據(jù)結(jié)構(gòu)</b>

    單片機的三種總線結(jié)構(gòu)

    單片機的三種總線結(jié)構(gòu)包括地址總線(Address Bus, AB)、數(shù)據(jù)總線(Data Bus, DB)和控制總線(Control Bus, CB)。這三種總線在單片機內(nèi)部及與外部設(shè)備
    的頭像 發(fā)表于 09-10 11:32 ?3492次閱讀

    計算機程序的三種基本控制結(jié)構(gòu)是什么

    計算機程序的三種基本控制結(jié)構(gòu)是: 順序結(jié)構(gòu)(Sequence Structure) :順序結(jié)構(gòu)是最基本的控制結(jié)構(gòu),也是最簡單的
    的頭像 發(fā)表于 09-04 17:00 ?1448次閱讀

    嵌入式常用數(shù)據(jù)結(jié)構(gòu)有哪些

    在嵌入式編程中,數(shù)據(jù)結(jié)構(gòu)的選擇和使用對于程序的性能、內(nèi)存管理以及開發(fā)效率都具有重要影響。嵌入式系統(tǒng)由于資源受限(如處理器速度、內(nèi)存大小等),因此對數(shù)據(jù)結(jié)構(gòu)的選擇和使用尤為關(guān)鍵。以下是嵌入式編程中常用的幾種數(shù)據(jù)結(jié)構(gòu),結(jié)合具體特點和
    的頭像 發(fā)表于 09-02 15:25 ?542次閱讀

    OPA177的型號里有帶E4、G4的,有不帶的,請問這三種區(qū)別在哪里?

    OPA177的型號里有帶E4、G4的,有不帶的,請問這三種區(qū)別在哪里?謝謝!
    發(fā)表于 08-29 07:44

    三種功率器件的應(yīng)用區(qū)別

    GaN HEMT(氮化鎵高電子遷移率晶體管)、Si MOSFET(硅金屬氧化物半導(dǎo)體場效應(yīng)晶體管)和SiC MOSFET(碳化硅金屬氧化物半導(dǎo)體場效應(yīng)晶體管)是三種不同的功率半導(dǎo)體器件,各自在不同的應(yīng)用領(lǐng)域發(fā)揮著重要作用。
    的頭像 發(fā)表于 07-18 16:53 ?5498次閱讀
    <b class='flag-5'>三種</b>功率器件的應(yīng)用<b class='flag-5'>區(qū)別</b>

    淺析FreeRTOS任務(wù)調(diào)度器的三種調(diào)度算法和應(yīng)用

    FreeRTOS在MCU領(lǐng)域應(yīng)用非常廣泛,今天就給大家講解一下FreeRTOS調(diào)度器中的三種調(diào)度算法,以及在瑞薩RZ/T2L MPU中的應(yīng)用。
    的頭像 發(fā)表于 05-10 14:02 ?7661次閱讀
    淺析<b class='flag-5'>FreeRTOS</b>任務(wù)調(diào)度器的<b class='flag-5'>三種</b>調(diào)度算法和應(yīng)用

    visual programmer打開的文件格式有.s19, .hex , .sx 三種文件格式有什么區(qū)別嗎?

    st visual programmer打開的文件格式有.s19, .hex,.sx三種文件格式有什么區(qū)別嗎?是不是不同芯片的文件格式不一樣,還是所有的芯片都可以使用這三種文件格式?
    發(fā)表于 04-28 08:56

    探索編程世界的七大數(shù)據(jù)結(jié)構(gòu)

    結(jié)構(gòu)就像是一顆倒掛的小樹,有根、有枝、有葉。它是一非線性的數(shù)據(jù)結(jié)構(gòu),以層級的方式存儲數(shù)據(jù),頂部是根節(jié)點,底部是葉節(jié)點。
    的頭像 發(fā)表于 04-16 12:04 ?411次閱讀

    555集成芯片的三種工作模式及區(qū)別

    555集成芯片是一個功能強大的模擬電路和數(shù)字電路結(jié)合的中規(guī)模集成電路,它主要有三種工作模式:單穩(wěn)態(tài)模式、雙穩(wěn)態(tài)模式和無穩(wěn)態(tài)模式。這三種模式在功能和應(yīng)用上有明顯的區(qū)別。
    的頭像 發(fā)表于 03-26 14:46 ?1769次閱讀

    TASKING編譯器是否可以將數(shù)據(jù)結(jié)構(gòu)設(shè)置為 \"打包\"?

    TASKING 編譯器是否可以將數(shù)據(jù)結(jié)構(gòu)設(shè)置為 \"打包\"? GCC 很早以前就提供了這種可能性,可以將__attribute__((packed))與對齊指令結(jié)合使用。 對于
    發(fā)表于 03-05 06:00

    矢量與柵格數(shù)據(jù)結(jié)構(gòu)各有什么特征

    矢量數(shù)據(jù)結(jié)構(gòu)和柵格數(shù)據(jù)結(jié)構(gòu)是地理信息系統(tǒng)(GIS)中最常用的兩種數(shù)據(jù)結(jié)構(gòu)。它們在存儲和表示地理要素上有著不同的方法和特征。在接下來的文章中,我們將詳細介紹這兩種數(shù)據(jù)結(jié)構(gòu)并比較它們的特點
    的頭像 發(fā)表于 02-25 15:06 ?2719次閱讀

    通過TestStand三種主要運行方式探究TestStand開放式架構(gòu)

    在這張圖中,我們可以看到三種主要運行方式分別是”Test UUTs”、”Single Pass”、”Run MainSequence”。大家不妨先嘗試一下看看同一個序列文件用三種運行方式運行有什么可以直接看出的區(qū)別。
    的頭像 發(fā)表于 01-19 17:34 ?4987次閱讀
    通過TestStand<b class='flag-5'>三種</b>主要運行方式探究TestStand開放式架構(gòu)