From 525984507a3173702a38e041ac5ed6b1b5863dd4 Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Thu, 4 Sep 2025 03:15:16 +0000 Subject: [PATCH] Update README.md --- README.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9cf0e20..6ebee83 100644 --- a/README.md +++ b/README.md @@ -1 +1,60 @@ -https://blog.csdn.net/weixin_42992743/article/details/136906701 \ No newline at end of file +The repository contains C source files implementing a protocol core and a ring buffer data structure. Below is a README.md tailored for this project: + +--- + +# Protocol Library + +这是一个基于 C 语言实现的协议核心模块和环形缓冲区库,适用于嵌入式系统或通信协议开发。 + +## 项目结构 + +- `b_protocol_core.c` / `b_protocol_core.h`: 协议核心逻辑,包括帧初始化、数据放入与取出等功能。 +- `ringbuffer.c` / `ringbuffer.h`: 实现了一个高效的环形缓冲区操作库,支持数据读写、清空、长度查询等操作。 + +## 主要功能 + +### 协议核心模块 (`b_protocol_core.c`) +- 帧初始化 (`b_frame_init`) +- 数据写入 (`b_frame_put`) +- 数据读取 (`b_frame_fifo_get`) +- 缓冲区清空 (`b_frame_fifo_clear`) +- 超时检测 (`b_frame_idie_timer`) + +### 环形缓冲区 (`ringbuffer.c`) +- 缓冲区初始化 (`ring_buf_init`) +- 数据写入 (`ring_buf_put`) +- 数据读取 (`ring_buf_get`) +- 获取当前缓冲区长度 (`ring_buf_len`) +- 清空缓冲区 (`ring_buf_clr`) + +## 使用方法 + +1. 将 `b_protocol_core.c/h` 和 `ringbuffer.c/h` 添加到您的项目中。 +2. 包含相应的头文件并调用所需函数。 +3. 初始化帧结构体和缓冲区后即可进行数据通信处理。 + +## 示例代码 + +```c +ring_buf_t rb; +uint8_t buffer[128]; +ring_buf_init(&rb, buffer, sizeof(buffer)); + +uint8_t data[] = { 'H', 'e', 'l', 'l', 'o' }; +ring_buf_put(&rb, data, sizeof(data)); + +uint8_t out[128]; +int len = ring_buf_get(&rb, out, sizeof(out)); +``` + +## 许可证 + +本项目使用 MIT License,请参见 [LICENSE](LICENSE) 文件获取详细信息。 + +## 参考链接 + +- [CSDN 博文参考](https://blog.csdn.net/weixin_42992743/article/details/136906701) + +--- + +如需进一步扩展 README.md,请告知具体需求。 \ No newline at end of file -- Gitee