|
xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
|
XTINY 环形缓冲区(Ring Buffer)接口 更多...
结构体 | |
| struct | xt_rb |
| 环形缓冲区结构体 更多... | |
宏定义 | |
| #define | XT_RB_FORCE 1 |
| #define | XT_RB_NO_FORCE 0 |
| #define | XT_RB_IS_VALID(rb) |
| #define | XT_RB_IS_EMPTY(rb) |
| #define | XT_RB_IS_FULL(rb) |
函数 | |
| void | xt_rb_init (struct xt_rb *rb, uint8_t *buf, uint32_t size) |
| 初始化环形缓冲区 | |
| void | xt_rb_reset (struct xt_rb *rb) |
| 重置环形缓冲区(清空数据) | |
| bool | xt_rb_is_empty (const struct xt_rb *rb) |
| 判断缓冲区是否为空 | |
| bool | xt_rb_is_full (const struct xt_rb *rb) |
| 判断缓冲区是否已满 | |
| uint32_t | xt_rb_get_continuous_read_space (const struct xt_rb *rb) |
| 获取连续可读空间大小 | |
| uint32_t | xt_rb_get_continuous_write_space (const struct xt_rb *rb, uint8_t b_force) |
| 获取连续可写空间大小 | |
| uint32_t | xt_rb_get_size (const struct xt_rb *rb) |
| 获取缓冲区总大小 | |
| uint32_t | xt_rb_get_filled (const struct xt_rb *rb) |
| 获取缓冲区已填充字节数 | |
| uint32_t | xt_rb_get_empty (const struct xt_rb *rb) |
| 获取缓冲区空闲字节数 | |
| void | xt_rb_putc (struct xt_rb *rb, uint8_t ch) |
| 写入单个字节 | |
| bool | xt_rb_getc (struct xt_rb *rb, uint8_t *ch) |
| 读取单个字节 | |
| uint32_t | xt_rb_write (struct xt_rb *rb, const uint8_t *src, uint32_t size, uint8_t b_force) |
| 写入数据到缓冲区 | |
| uint32_t | xt_rb_read (struct xt_rb *rb, uint8_t *dst, uint32_t size) |
| 从缓冲区读取数据 | |
XTINY 环形缓冲区(Ring Buffer)接口
| #define XT_RB_IS_EMPTY | ( | rb | ) |
| #define XT_RB_IS_FULL | ( | rb | ) |
| #define XT_RB_IS_VALID | ( | rb | ) |
| uint32_t xt_rb_get_continuous_read_space | ( | const struct xt_rb * | rb | ) |
获取连续可读空间大小
| rb | 环形缓冲区指针 |
| uint32_t xt_rb_get_continuous_write_space | ( | const struct xt_rb * | rb, |
| uint8_t | b_force ) |
获取连续可写空间大小
| rb | 环形缓冲区指针 |
| b_force | 是否强制覆盖(XT_RB_FORCE / XT_RB_NO_FORCE) |
| uint32_t xt_rb_get_empty | ( | const struct xt_rb * | rb | ) |
获取缓冲区空闲字节数
| rb | 环形缓冲区指针 |
| uint32_t xt_rb_get_filled | ( | const struct xt_rb * | rb | ) |
获取缓冲区已填充字节数
| rb | 环形缓冲区指针 |
| uint32_t xt_rb_get_size | ( | const struct xt_rb * | rb | ) |
获取缓冲区总大小
| rb | 环形缓冲区指针 |
| bool xt_rb_getc | ( | struct xt_rb * | rb, |
| uint8_t * | ch ) |
读取单个字节
| rb | 环形缓冲区指针 |
| ch | 输出读取的字节 |
| void xt_rb_init | ( | struct xt_rb * | rb, |
| uint8_t * | buf, | ||
| uint32_t | size ) |
初始化环形缓冲区
| rb | 环形缓冲区指针 |
| buf | 缓冲区内存 |
| size | 缓冲区大小(字节) |
| bool xt_rb_is_empty | ( | const struct xt_rb * | rb | ) |
判断缓冲区是否为空
| rb | 环形缓冲区指针 |
| bool xt_rb_is_full | ( | const struct xt_rb * | rb | ) |
判断缓冲区是否已满
| rb | 环形缓冲区指针 |
| void xt_rb_putc | ( | struct xt_rb * | rb, |
| uint8_t | ch ) |
写入单个字节
| rb | 环形缓冲区指针 |
| ch | 要写入的字节 |
| uint32_t xt_rb_read | ( | struct xt_rb * | rb, |
| uint8_t * | dst, | ||
| uint32_t | size ) |
从缓冲区读取数据
| rb | 环形缓冲区指针 |
| dst | 目标缓冲区(为 NULL 时移除数据,不复制) |
| size | 读取长度(字节) |
| void xt_rb_reset | ( | struct xt_rb * | rb | ) |
重置环形缓冲区(清空数据)
| rb | 环形缓冲区指针 |
| uint32_t xt_rb_write | ( | struct xt_rb * | rb, |
| const uint8_t * | src, | ||
| uint32_t | size, | ||
| uint8_t | b_force ) |
写入数据到缓冲区
| rb | 环形缓冲区指针 |
| src | 源数据指针(为 NULL 时不实际写入,只改变 head 和 tail) |
| size | 写入长度(字节) |
| b_force | 是否强制覆盖旧数据(XT_RB_FORCE / XT_RB_NO_FORCE) |