流式緩沖區(qū)是在隊(duì)列的基礎(chǔ)上,針對(duì)單一生產(chǎn)者和消費(fèi)者場(chǎng)景,與隊(duì)列類似,也是一個(gè)任務(wù)負(fù)責(zé)產(chǎn)生數(shù)據(jù),另一個(gè)任務(wù)負(fù)責(zé)讀取數(shù)據(jù),但是字節(jié)流可以是任意長(zhǎng)度,并且不一定具有開頭或結(jié)尾。可以一次寫入任意數(shù)量的字節(jié),并且可以一次讀取任意數(shù)量的字節(jié)。
Stream Buffer讀寫的大小沒有限制,適合于一個(gè)任務(wù)寫,另外一個(gè)任務(wù)讀,不適合多任務(wù)讀寫。
API:
StreamBufferHandle_t xStreamMusic = NULL; //創(chuàng)建一個(gè)句柄
xStreamMusic=xStreamBufferCreate(540, 8);//創(chuàng)建Stream Buffer,最多540個(gè)字節(jié),最小8個(gè)字節(jié)
xStreamBufferIsFull(xStreamMusic)//監(jiān)控是否滿了
xStreamBufferBytesAvailable(xStreamMusic);//監(jiān)控已使用多少空間
xStreamBufferSpacesAvailable(xStreamMusic);//監(jiān)控還剩多少空間
審核編輯:劉清
-
API
+關(guān)注
關(guān)注
2文章
1620瀏覽量
64061 -
FreeRTOS
+關(guān)注
關(guān)注
12文章
493瀏覽量
64369
原文標(biāo)題:FreeRTOS StreamBuffer流緩沖區(qū)
文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
USB緩沖區(qū)中的內(nèi)容滿了之后,是否有標(biāo)志位進(jìn)行反饋?
請(qǐng)問USB緩沖區(qū)取數(shù)據(jù)可以多次取嗎?
解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(2)

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(1)

FX3 Socket緩沖區(qū)切換的最大時(shí)間是多少?
求助,關(guān)于3014的緩沖區(qū)設(shè)置疑問求解
請(qǐng)問如何在Linux中使用幀緩沖區(qū)更新epdc顯示?
FreeRTOS進(jìn)階使用之流緩沖區(qū):高效處理字節(jié)流的秘密武器
L9663如何使用上行緩沖區(qū)發(fā)送同步脈沖?
緩沖區(qū)溢出漏洞的原理、成因、類型及最佳防范實(shí)踐(借助Perforce 的Klocwork/Hleix QAC等靜態(tài)代碼分析工具)

RTOS的流緩沖區(qū)機(jī)制解析

AMD Zen 4處理器悄然禁用循環(huán)緩沖區(qū)
分享一個(gè)嵌入式通用FIFO環(huán)形緩沖區(qū)實(shí)現(xiàn)庫(kù)

內(nèi)存緩沖區(qū)和內(nèi)存的關(guān)系
單片機(jī)中的幾種環(huán)形緩沖區(qū)的分析和實(shí)現(xiàn)

評(píng)論