|
@@ -76,3 +76,26 @@ extern inline uint8_t ring_buffer_is_empty(ring_buffer_t *buffer);
|
|
|
extern inline uint8_t ring_buffer_is_full(ring_buffer_t *buffer);
|
|
extern inline uint8_t ring_buffer_is_full(ring_buffer_t *buffer);
|
|
|
extern inline ring_buffer_size_t ring_buffer_num_items(ring_buffer_t *buffer);
|
|
extern inline ring_buffer_size_t ring_buffer_num_items(ring_buffer_t *buffer);
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+#if 0 //测试函数
|
|
|
|
|
+#include <stdio.h>
|
|
|
|
|
+int main()
|
|
|
|
|
+{
|
|
|
|
|
+ ring_buffer_t buff;
|
|
|
|
|
+ uint8_t buff_data[8]={0};
|
|
|
|
|
+
|
|
|
|
|
+ ring_buffer_init(&buff, buff_data, sizeof(buff_data)); //环形大小要求是2的幂
|
|
|
|
|
+ printf("初始化长度: %d\r\n", buff.buffer_mask);
|
|
|
|
|
+
|
|
|
|
|
+ ring_buffer_queue_arr(&buff, "0123456789", 8);
|
|
|
|
|
+ printf("写入%2d: %s\r\n", 10, buff_data);
|
|
|
|
|
+ printf("当前长度: %d, 剩余长度: %d\r\n", ring_buffer_num_items(&buff), buff.buffer_mask-ring_buffer_num_items(&buff));
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ uint8_t data[8]={0}; /* Application working data */
|
|
|
|
|
+ ring_buffer_size_t len = ring_buffer_dequeue_arr(&buff, data, sizeof(data));
|
|
|
|
|
+ printf("读取%2d: %s\r\n", len, data);
|
|
|
|
|
+ printf("当前长度: %d, 剩余长度: %d\r\n", ring_buffer_num_items(&buff), buff.buffer_mask-ring_buffer_num_items(&buff));
|
|
|
|
|
+ return 0;
|
|
|
|
|
+}
|
|
|
|
|
+#endif
|