## 1. 代码配置静态走查 - [x] 1.1 审查 `prj/TCPClient/Debug/dvp.c` 中的 DVP GPIO 引脚初始化,验证时钟/数据/同步极性设定。 - [x] 1.2 审查 `dvp.c` 中相关的 DMA (通常是 DMA2) 源地址和宿地址的初始化是否将 DVP R13 数据正确搬移到 RAM 中。 - [x] 1.3 确认定义的 Frame Buffer 内存大小和对齐方式能够完整装载设定的红外单帧尺寸。 ## 2. 检查中断处理和运行时行为 - [x] 2.1 审查 `prj/TCPClient/User/ch32v30x_it.c` 中的 DMA 中断服务函数和 DVP 帧完成中断,评估是否能可靠地设置标志位。 - [x] 2.2 审查主循环 `main.c` 中关于采集标志位的判定清除以及 Buffer 锁机制。 - [x] 2.3 (如果原存在)确保代码不存在意外清除或漏检标志位的竞态条件。 ## 3. 添加初步的诊断验证方法 - [x] 3.1 在主循环成功获取完整一帧处,添加一个基于计数的帧率和帧数调试 `printf` 打印输出。 - [x] 3.2 打印接收到的图像数据的前几个字节,用于人工核对同步字或者数据有效性。 - [x] 3.3 编译并运行工程,监控终端输出以给出当前 DVP 和 DMA 是否能正常获取红外数据的测试结论。