0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FreeRTOS流式缓冲区是指什么

工程师邓生 来源:硬件会 作者:硬件会 2022-09-15 11:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

流式缓冲区是在队列的基础上,针对单一生产者和消费者场景,与队列类似,也是一个任务负责产生数据,另一个任务负责读取数据,但是字节流可以是任意长度,并且不一定具有开头或结尾。可以一次写入任意数量的字节,并且可以一次读取任意数量的字节。

Stream Buffer读写的大小没有限制,适合于一个任务写,另外一个任务读,不适合多任务读写。

API

StreamBufferHandle_t xStreamMusic = NULL; //创建一个句柄

xStreamMusic=xStreamBufferCreate(540, 8);//创建Stream Buffer,最多540个字节,最小8个字节

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

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

xStreamBufferIsFull(xStreamMusic)//监控是否满了

xStreamBufferBytesAvailable(xStreamMusic);//监控已使用多少空间

xStreamBufferSpacesAvailable(xStreamMusic);//监控还剩多少空间



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    2475

    浏览量

    67011
  • FreeRTOS
    +关注

    关注

    14

    文章

    499

    浏览量

    67239

原文标题:FreeRTOS StreamBuffer流缓冲区

文章出处:【微信号:硬件会,微信公众号:硬件会】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DMA传输完成通知未在S32K324上的半满缓冲区时触发,为什么?

    S32K344发生第一次中断时(半缓冲区已满并发生中断): 第一次中断发生时S32K324: 我使用以下代码片段来配置 DMA 传输: K344 上的 TCD: TCD 对S32K324:
    发表于 04-02 08:10

    C语言的缓冲区(缓存)详解

    缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。   缓冲区根据其对应的是输入设
    发表于 01-14 07:30

    CW32L052串口的缓冲区机制

    默认缓冲区配置 CW32L052的UART模块支持硬件FIFO(通常为16字节),但HAL库或用户代码需手动管理接收缓冲区。若未显式分配足够大的软件缓冲区,可能导致数据溢出。 HAL库缓冲区
    发表于 11-24 06:40

    飞凌嵌入式ElfBoard-标准IO接口之设置缓冲区

    1.setvbuf 用于以对文件的 stdio 缓冲区进行设置,譬如缓冲区缓冲模式、缓冲区的大小、起 始地址等。 1)头文件 #include 2)函数原型 int setvbuf
    发表于 11-14 09:02

    【道生物联TKB-623评估板试用】+3、模块深度测评:高频率数据传输的缓冲区陷阱与优化方案

    模块深度测评:高频率数据传输的缓冲区陷阱与优化方案 本文记录了在实际项目中使用620 LoRa模块时遇到的一个隐蔽却关键的问题,以及完整的排查和解决方案。 问题现象:高频率发送数据时的异常行为
    发表于 10-15 19:29

    移植的lvgl,在运行的时候,缓冲区无法释放怎么解决?

    代码在运行的时候,只有lvgl线程用于刷新,另一个线程只有一个串口打印。 当运行一段时间后,发现,程序会在LVGl中,lv_refr.c这个库下面第625行代码, 在这一直判断,看介绍说是在等待释放缓冲区,求大神给个思路
    发表于 09-09 07:28

    如何清除CYUSB3014的缓冲区数据?USB接口数据什么时候发送到电脑?

    、如何清除GPIF II接口处对应的DMA BUFFER数据?当标志设置为满/非满状态时,一旦 DMA 缓冲区已满,标志信号就会指示它已满。清除DMA缓冲区数据后,相应的标志信号会改变吗?会不会变成非满状态
    发表于 07-18 07:58

    USB缓冲区中的内容满了之后,是否有标志位进行反馈?

    USB缓冲区中的内容满了之后,是否有标志位进行反馈。
    发表于 07-17 07:13

    请问USB缓冲区取数据可以多次取吗?

    在使用USB软件获取数据是,下位机给我发送了13个32位数据到USB IN缓冲区,为什么我调用API函数想要第一次取1个32位数据,取完之后再取12位数据,程序会卡死。
    发表于 07-16 08:12

    socket缓冲区溢出的原因?怎么解决?

    我在测试视频通话时 发现丢帧特别严重 进行了一些列的排查 发现socket本身似乎有问题 通过测试代码发现了大量的缓冲区溢出我尝试换了不同的服务器 我还分别测试了wifi网卡和4G网卡 全都这样
    发表于 06-19 06:34

    解析RZ/N2L CANFD模块的缓冲区机制(2)

    在工业自动化、智能交通、机器人等领域,CANFD(CAN with Flexible Data-Rate)技术正逐步取代传统CAN,以适应更高的数据速率和更复杂的通信需求。本文将深入解析RZ/N2L CANFD模块的缓冲区机制,帮助工程师更高效地管理CAN消息,提高系统性能。
    的头像 发表于 05-19 14:13 1628次阅读
    解析RZ/N2L CANFD模块的<b class='flag-5'>缓冲区</b>机制(2)

    解析RZ/N2L CANFD模块的缓冲区机制(1)

    在工业自动化、智能交通、机器人等领域,CANFD(CAN with Flexible Data-Rate)技术正逐步取代传统CAN,以适应更高的数据速率和更复杂的通信需求。本文将深入解析RZ/N2L CANFD模块的缓冲区机制,帮助工程师更高效地管理CAN消息,提高系统性能。
    的头像 发表于 05-19 14:10 1444次阅读
    解析RZ/N2L CANFD模块的<b class='flag-5'>缓冲区</b>机制(1)

    FX3 Socket缓冲区切换的最大时间是多少?

    FX3_Programmers_Manual 文档的第 10 章提到“每个缓冲区缓冲区切换开销为 550 - 900 ns”。 Getting_Started_with_EZ-USB_FX3 文档
    发表于 05-16 07:51

    在传输DMA通道中的所有缓冲区后,DMA标志(就绪和部分)被卡住了是怎么回事?

    是,旗帜最初的表现是正确的。 它们被配置为 ACTIVE HIGH 标志,初始值设为 LOW。 整个 DMA 通道默认使用两个 DMA 缓冲区。 传输开始时,第一个缓冲区被正确填满:部分标志(标志 b
    发表于 05-16 07:18

    求助,关于3014的缓冲区设置疑问求解

    rgb24 1080p@60fps是静态图像,dma缓冲区的配置即大小和数量分别为16kb,6,沿用的是yuy2的配置,但yuy2 1080p@60fps 是动态且不颠倒,是否可以认为是由于缓冲区
    发表于 05-06 13:42