Преглед изворни кода

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

修改测试例子
kinve пре 9 месеци
родитељ
комит
30ad9352e6
1 измењених фајлова са 10 додато и 6 уклоњено
  1. 10 6
      stm32 环形缓冲/ringbuffer.c

+ 10 - 6
stm32 环形缓冲/ringbuffer.c

@@ -89,28 +89,32 @@ inline ring_buffer_size_t ring_buffer_num_items(ring_buffer_t *buffer) {
 
 
 #if 0 //测试函数
 #if 0 //测试函数
 #include <stdio.h>
 #include <stdio.h>
-void printf_n(char* str, int n) {
+void printf_n(char* info, char* str, int n) {
+  printf("%s%2d:", info, n);
   for (size_t i = 0; i < n; i++)
   for (size_t i = 0; i < n; i++)
   {
   {
     printf("%c", str[i]);
     printf("%c", str[i]);
   }
   }
+  printf("\r\n");
 }
 }
+#ifndef min
 #define min(a,b) ((a)<(b)?(a):(b))
 #define min(a,b) ((a)<(b)?(a):(b))
-int main()
+#endif
+int ring_main()
 {
 {
   ring_buffer_t buff;
   ring_buffer_t buff;
-	uint8_t buff_data[8]={0};
+	char buff_data[8]={0};
 
 
   ring_buffer_init(&buff, buff_data, sizeof(buff_data));  //环形大小
   ring_buffer_init(&buff, buff_data, sizeof(buff_data));  //环形大小
 	printf("初始化长度: %d\r\n", buff.buf_size);
 	printf("初始化长度: %d\r\n", buff.buf_size);
 
 
   ring_buffer_queue_arr(&buff, "0123456789", 10);       //循环覆盖
   ring_buffer_queue_arr(&buff, "0123456789", 10);       //循环覆盖
-  printf("写入%2d:", 10);printf_n(buff_data, min(10, buff.buf_size));printf("\r\n");
+  printf_n("写入", buff_data, min(10, buff.buf_size));
 	printf("当前长度: %d, 剩余长度: %d\r\n", ring_buffer_num_items(&buff), buff.buf_size-ring_buffer_num_items(&buff));
 	printf("当前长度: %d, 剩余长度: %d\r\n", ring_buffer_num_items(&buff), buff.buf_size-ring_buffer_num_items(&buff));
 
 
-	uint8_t data[10]={0}; /* Application working data */
+	char data[10]={0}; /* Application working data */
   ring_buffer_size_t len = ring_buffer_dequeue_arr(&buff, data, sizeof(data));
   ring_buffer_size_t len = ring_buffer_dequeue_arr(&buff, data, sizeof(data));
-	printf("读取%2d:", len);printf_n(data, len);printf("\r\n");
+	printf_n("读取", data, len);
   printf("当前长度: %d, 剩余长度: %d\r\n", ring_buffer_num_items(&buff), buff.buf_size-ring_buffer_num_items(&buff));
   printf("当前长度: %d, 剩余长度: %d\r\n", ring_buffer_num_items(&buff), buff.buf_size-ring_buffer_num_items(&buff));
 	return 0;
 	return 0;
 } 
 }