流式緩沖區(qū)是在隊列的基礎(chǔ)上,針對單一生產(chǎn)者和消費者場景,與隊列類似,也是一個任務(wù)負(fù)責(zé)產(chǎn)生數(shù)據(jù),另一個任務(wù)負(fù)責(zé)讀取數(shù)據(jù),但是字節(jié)流可以是任意長度,并且不一定具有開頭或結(jié)尾??梢砸淮螌懭肴我鈹?shù)量的字節(jié),并且可以一次讀取任意數(shù)量的字節(jié)。
Stream Buffer讀寫的大小沒有限制,適合于一個任務(wù)寫,另外一個任務(wù)讀,不適合多任務(wù)讀寫。
API:
StreamBufferHandle_t xStreamMusic = NULL; //創(chuàng)建一個句柄
xStreamMusic=xStreamBufferCreate(540, 8);//創(chuàng)建Stream Buffer,最多540個字節(jié),最小8個字節(jié)


xStreamBufferIsFull(xStreamMusic)//監(jiān)控是否滿了
xStreamBufferBytesAvailable(xStreamMusic);//監(jiān)控已使用多少空間
xStreamBufferSpacesAvailable(xStreamMusic);//監(jiān)控還剩多少空間
審核編輯:劉清
-
API
+關(guān)注
關(guān)注
2文章
2483瀏覽量
67070 -
FreeRTOS
+關(guān)注
關(guān)注
14文章
500瀏覽量
67304
原文標(biāo)題:FreeRTOS StreamBuffer流緩沖區(qū)
文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
DMA傳輸完成通知未在S32K324上的半滿緩沖區(qū)時觸發(fā),為什么?
C語言的緩沖區(qū)(緩存)詳解
CW32L052串口的緩沖區(qū)機(jī)制
飛凌嵌入式ElfBoard-標(biāo)準(zhǔn)IO接口之設(shè)置緩沖區(qū)
【道生物聯(lián)TKB-623評估板試用】+3、模塊深度測評:高頻率數(shù)據(jù)傳輸?shù)?b class='flag-5'>緩沖區(qū)陷阱與優(yōu)化方案
移植的lvgl,在運行的時候,緩沖區(qū)無法釋放怎么解決?
如何清除CYUSB3014的緩沖區(qū)數(shù)據(jù)?USB接口數(shù)據(jù)什么時候發(fā)送到電腦?
USB緩沖區(qū)中的內(nèi)容滿了之后,是否有標(biāo)志位進(jìn)行反饋?
請問USB緩沖區(qū)取數(shù)據(jù)可以多次取嗎?
socket緩沖區(qū)溢出的原因?怎么解決?
解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(2)
解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(1)
FreeRTOS流式緩沖區(qū)是指什么
評論