先上调试截图:
为了验证是不是软件的问题,特意调试了下串口,再上截图:
再看下串口数据证明SCCB是正常的
出现这个说明通信是正常的,而且示波器测量SYNC、HERF、DPCLK,D0~D7都有波形。
按照另一个帖子开始配置:https://verimake.com/d/234-ch32v307ov2640
帖子中有歧义的地方在
DVP->CR0 |= RB_DVP_D10_MOD | RB_DVP_V_POLAR | RB_DVP_JPEG;// 设置DVP的工作模式(10bit位宽),同步信号极性(低有效的VSYNC信号),打开DVP的JPEG模式
而例程中是 RB_DVP_D8_MOD,我觉的8bit就行,所以没改。但结果串口还是没数据。
这里就出现了两个问题,要么编译器还不支持DVP寄存器的调试,要么例程中开发板的设计不符合常规的使用方法。结果大家问的最多的就是为什么进不了DVP的中断。
个人能力有限,查阅了这么多资料,或许在某个细节上忽略了重点,麻烦查找指正!
------------------------------------------------------------------------------------------------
其实5个月前就开始调试DVP功能,用的红板OV2640。一直以为是摄像头的问题,换了两个还是出不来数据。慢慢的开始在STM32F407上调通, 后来在ESP32上也调通了。验证过摄像头没问题后,一直找不到问题在哪里?从没有怀疑过芯片问题的我开始怀疑 了。不是说一有问题就让EVT里找,有没有可能大家都在问这块问题,就是因为EVT里将的太模糊(或者跟主流的不一致)了,其实买个红板OV2640也就2、3十块,咱们工作人员自己花钱买个连上测一下,放个能出图像的数据比任何解释都管用。来上我为了DVP测试OV2640买过的硬件。