流式緩沖區(qū)是在隊(duì)列的基礎(chǔ)上,針對單一生產(chǎn)者和消費(fèi)者場景,與隊(duì)列類似,也是一個任務(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文章
2373瀏覽量
66791 -
FreeRTOS
+關(guān)注
關(guān)注
14文章
499瀏覽量
66946
原文標(biāo)題:FreeRTOS StreamBuffer流緩沖區(qū)
文章出處:【微信號:硬件會,微信公眾號:硬件會】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
C語言的緩沖區(qū)(緩存)詳解
CW32L052串口的緩沖區(qū)機(jī)制
飛凌嵌入式ElfBoard-標(biāo)準(zhǔn)IO接口之設(shè)置緩沖區(qū)
移植的lvgl,在運(yùn)行的時候,緩沖區(qū)無法釋放怎么解決?
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ū)是指什么
評論