本帖最后由 十二月的肖邦 于 2017-3-12 10:19 编辑
【说明】
RingBuffer组件从2016年开始设计,更新至今,已经在多个企业项目中得到验证,最新版本为V2.0.0.0。文件夹中一份源码+测试例程。
编译环境:MDK5
MCU:STM32F103CBT6
使用时请尊重作者劳动成果,保留作者信息,禁止用于商业活动。
【更新日志】
2.0.0.0 [2017-02-15 09:17]
采用事件回调机制深度封装字符串指令解析接口
加入断言检测
简化接口名称
优化数据结构
1.1.0.3 [2017-01-19 20:58]
修改RingbuffCount的类型为uint8_t,将其与缓冲区长度256相匹配,防止
出现极端情况下RingbuffCount无限大而缓冲区数据早已覆盖掉的情况
1.1.0.2 [2017-01-03 21:55]
优化读取数据包接口效率,数据包全部使用指针拷贝
1.1.0.1 [2016-12-23 22:12]
优化读取数据包接口逻辑,一次将要提取的数据包写入缓存,方便解析
1.1.0.0 [2016-11-29 13:00]
修改读取数据包函数无法偏移的问题
1.0.0.4 [2016-10-03 14:01]
增加匹配期望帧函数参数(期望字符串)
1.0.0.3 [2016-09-20 14:01]
增加缓冲区实例化的指针安全检查
1.0.0.2 [2016-09-11 09:00]
期望帧逻辑优化
修改匹配期望帧任务的条件
增加匹配期望帧函数
1.0.0.1
优化耦合性
优化读取逻辑
增加多缓冲区支持
1.0.0.0
主体架构搭建,完成读写环形结构化
【RingBuffer组件简介】
RingBuffer组件适用于低速通信场合,为传统16进制数传数据包的解析提供一个方便高效低丢包率的方案,同时又兼具解析字符串指令(如shell命令行)的功能,麻雀虽小但五脏俱全。RingBuffer组件从V2.X开始采用回调机制深度封装,使用者不再需要关心底层实现,只需要在CallBack回调函数中添加自己的上层逻辑,就如中断函数一般,易学易用。
当然独风团队很清楚任何一份健壮的代码需要的是坚持,是持续不断的优化更新。也许在大牛的眼中独风的RingBuffer组件还有很多BUG,还有很多可以优化的地方,还有很多可以拓展的新功能。因此我们将RingBuffer组件源码开源出来,目的就是集思广益,将这个组件做的更完善。
【团队介绍】
独风团队是一个爱好电子的“电子客”,“发现兴趣”,“追随兴趣”,“分享兴趣”是我们的宗旨,所有爱好电子,痴迷编程的开发者,我们都欢迎加入。
【2017填坑计划】
1、更稳定的C# Socket组件
2、基于C#开发并加入串口抓包以及TCP抓包功能的MCU超级调试助手
3、高度封装的多功能按键组件
4、接入OneNET的物联网开发板以及OneNET接入协议调试上位机
2
|
|
|
|
厉害 ~~~~~
|
|
|
|
|