|
|
@@ -263,6 +263,49 @@ int main(void)
|
|
|
|
|
|
powerOn();
|
|
|
E52_CtlPowerOn_Fun();
|
|
|
+ RingBuffer q;
|
|
|
+ RingBuffer_Init(&q);
|
|
|
+
|
|
|
+ uint8_t data_in[BL_DATA_SIZE];
|
|
|
+ uint8_t data_out[BL_DATA_SIZE];
|
|
|
+
|
|
|
+ printf("=== 环形队列循环入队/出队测试开始 ===\n");
|
|
|
+
|
|
|
+ // 循环 20 次,模拟不断写入和读取
|
|
|
+ for (int n = 0; n < 20; n++) {
|
|
|
+ // 准备一组数据(内容累加)
|
|
|
+ for (int i = 0; i < BL_DATA_SIZE; i++) {
|
|
|
+ data_in[i] = (n << 4) + (i + 1); // 每轮累加 0x10
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 入队
|
|
|
+ if (RingBuffer_Enqueue(&q, data_in) == 0) {
|
|
|
+ printf("[%02d] 入队成功: ", n);
|
|
|
+ for (int i = 0; i < BL_DATA_SIZE; i++) {
|
|
|
+ printf("%d ", data_in[i]);
|
|
|
+ }
|
|
|
+ printf("\n");
|
|
|
+ } else {
|
|
|
+ printf("[%02d] 入队失败: 队列已满\n", n);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 出队
|
|
|
+ if (RingBuffer_Dequeue(&q, data_out) == 0) {
|
|
|
+ printf("[%02d] 出队成功: ", n);
|
|
|
+ for (int i = 0; i < BL_DATA_SIZE; i++) {
|
|
|
+ printf("%d ", data_out[i]);
|
|
|
+ }
|
|
|
+ printf("\n");
|
|
|
+ } else {
|
|
|
+ printf("[%02d] 出队失败: 队列为空\n", n);
|
|
|
+ }
|
|
|
+ printf("=== 下一轮测试 ===\n");
|
|
|
+ }
|
|
|
+
|
|
|
+ printf("=== 测试结束 ===\n");
|
|
|
+
|
|
|
+ while (TRUE);
|
|
|
|
|
|
|
|
|
// 启动 USART2 DMA 接收
|