流式緩沖區(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文章
2371瀏覽量
66775 -
FreeRTOS
+關(guān)注
關(guān)注
14文章
499瀏覽量
66941
原文標(biāo)題:FreeRTOS StreamBuffer流緩沖區(qū)
文章出處:【微信號(hào):硬件會(huì),微信公眾號(hào):硬件會(huì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
C語(yǔ)言的緩沖區(qū)(緩存)詳解
CW32L052串口的緩沖區(qū)機(jī)制
飛凌嵌入式ElfBoard-標(biāo)準(zhǔn)IO接口之設(shè)置緩沖區(qū)
移植的lvgl,在運(yùn)行的時(shí)候,緩沖區(qū)無(wú)法釋放怎么解決?
USB緩沖區(qū)中的內(nèi)容滿了之后,是否有標(biāo)志位進(jìn)行反饋?
請(qǐng)問USB緩沖區(qū)取數(shù)據(jù)可以多次取嗎?
socket緩沖區(qū)溢出的原因?怎么解決?
解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(2)
解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(1)
FreeRTOS流式緩沖區(qū)是指什么
評(píng)論