硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2180|回复: 21
收起左侧

[STM32H7] 分享一个 ringbuff 环形缓冲 的 程序,支持 os 系统哟

  [复制链接]

610

主题

3061

回帖

4911

积分

至尊会员

积分
4911
发表于 2022-4-24 15:49:40 | 显示全部楼层 |阅读模式
分享一个 ringbuff 环形缓冲 的 程序,支持 os 系统哟

是从其他的开源文件里面抠出来的,经过修改后移植到 单片机上,目前使用效果还是不错的哟

目前默认使用的 os 系统是 rtx v5
ringbuf.c (11.7 KB, 下载次数: 211)

ringbuf.h (1.81 KB, 下载次数: 153)

欢迎交流









评分

参与人数 1金币 +100 收起 理由
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

3

主题

1227

回帖

1236

积分

至尊会员

积分
1236
发表于 2022-4-24 21:59:55 | 显示全部楼层
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-4-25 17:16:22 | 显示全部楼层
谢谢楼主分享。
回复

使用道具 举报

610

主题

3061

回帖

4911

积分

至尊会员

积分
4911
 楼主| 发表于 2022-4-25 17:27:01 | 显示全部楼层

有用就好哇,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-4-26 00:20:39 | 显示全部楼层

看了下源码实现,做的不错,这个你测试过多块RAM的分配吧
回复

使用道具 举报

73

主题

1198

回帖

1417

积分

至尊会员

积分
1417
发表于 2022-4-26 08:21:53 | 显示全部楼层
很眼熟,好像之前有帖子分享过啊???
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-4-26 08:36:59 | 显示全部楼层
wdliming 发表于 2022-4-26 08:21
很眼熟,好像之前有帖子分享过啊???

对,他做了个魔改,方便RTOS调用。
回复

使用道具 举报

5

主题

100

回帖

115

积分

初级会员

积分
115
发表于 2022-4-26 09:24:17 | 显示全部楼层
给力!!!
回复

使用道具 举报

610

主题

3061

回帖

4911

积分

至尊会员

积分
4911
 楼主| 发表于 2022-4-26 11:52:54 | 显示全部楼层
eric2013 发表于 2022-4-26 00:20
看了下源码实现,做的不错,这个你测试过多块RAM的分配吧

这个倒是没有测试过,

后续有空了再捣腾试试看

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-4-26 11:55:08 | 显示全部楼层
hpdell 发表于 2022-4-26 11:52
这个倒是没有测试过,

后续有空了再捣腾试试看

这个可以试试,这样可以大大拓展应用范围。可以多个应用FIFO一起用。
回复

使用道具 举报

610

主题

3061

回帖

4911

积分

至尊会员

积分
4911
 楼主| 发表于 2022-4-26 12:22:15 | 显示全部楼层
eric2013 发表于 2022-4-26 11:55
这个可以试试,这样可以大大拓展应用范围。可以多个应用FIFO一起用。

刚刚看了一下,应该是可以支持多个 sram 的,因为控制都是基于 RingBuf 这个控制块进行的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-4-26 13:40:07 | 显示全部楼层
hpdell 发表于 2022-4-26 12:22
刚刚看了一下,应该是可以支持多个 sram 的,因为控制都是基于 RingBuf 这个控制块进行的

嗯,可以实战下。
回复

使用道具 举报

610

主题

3061

回帖

4911

积分

至尊会员

积分
4911
 楼主| 发表于 2022-4-26 20:12:27 | 显示全部楼层
eric2013 发表于 2022-4-26 13:40
嗯,可以实战下。



刚刚重新捣鼓了一下,使用 多个 sram 进行 ring buff 是可以的

002234.png


002233.png


程序也重新修改了一下,更加的完美了,
ringbuf.c (16.78 KB, 下载次数: 90)


谁有更好的方法,欢迎交流交流喔








回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2022-4-27 00:30:05 | 显示全部楼层
移植到freertos可以吗,求大神指点
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-4-27 08:58:08 | 显示全部楼层
hpdell 发表于 2022-4-26 20:12
刚刚重新捣鼓了一下,使用 多个 sram 进行 ring buff 是可以的

不错不错
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2022-4-27 08:58:31 | 显示全部楼层
挖东衣宇 发表于 2022-4-27 00:30
移植到freertos可以吗,求大神指点

他用的是CMSIS-RTOS V2封装层,可以直接使用FreeRTOS。
回复

使用道具 举报

610

主题

3061

回帖

4911

积分

至尊会员

积分
4911
 楼主| 发表于 2022-4-27 10:22:30 | 显示全部楼层

我播放视频,音乐 也都是没有问题的
回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2022-4-27 10:48:42 | 显示全部楼层
hpdell 发表于 2022-4-27 10:22
我播放视频,音乐 也都是没有问题的

这个我们平时使用的ring_buff有什么好处吗,看起来运算很多啊
回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2022-4-27 11:01:43 | 显示全部楼层
eric2013 发表于 2022-4-27 08:58
他用的是CMSIS-RTOS V2封装层,可以直接使用FreeRTOS。

硬汉哥,这个和bsp里的fifo相比有啥好处吗,看起来运算这么多,效率岂不是很低
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2022-4-27 12:10:41 | 显示全部楼层
没想到一个环形buf需要这么多代码,看着比较复杂啊。。。
回复

使用道具 举报

0

主题

18

回帖

18

积分

新手上路

积分
18
发表于 2022-4-27 15:01:48 | 显示全部楼层
挖东衣宇 发表于 2022-4-27 11:01
硬汉哥,这个和bsp里的fifo相比有啥好处吗,看起来运算这么多,效率岂不是很低

优势就是不需要额外的溢出判断,可以体会下
回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2022-4-27 21:30:42 | 显示全部楼层
fang316 发表于 2022-4-27 15:01
优势就是不需要额外的溢出判断,可以体会下

好的,感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 05:11 , Processed in 0.232765 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表