Selaa lähdekoodia

更新 'stm32 环形缓冲/ringbuffer.c'

增加使用例子
kinve 9 kuukautta sitten
vanhempi
sitoutus
06fcd66c12
1 muutettua tiedostoa jossa 23 lisäystä ja 0 poistoa
  1. 23 0
      stm32 环形缓冲/ringbuffer.c

+ 23 - 0
stm32 环形缓冲/ringbuffer.c

@@ -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 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