刚刚调通了LCD屏幕,
LCD ID:9341 width:240 height:320
想在屏幕上显示ov2640摄像头的数据,调试了一天多,线插了N次。估计是杜邦线的问题,导致检测不到。这个摄像头我已经在STM32F411上采集通过,也在STM32F407上采集通过了,都是杜邦线连接的。个人觉得用CH32V307的DVP应该也没啥问题,就过来一试,结果如图所示:
串口打印输出:
[13:27:34.607]收←◆SystemClk:72000000
[13:27:34.658]收←◆ LCD ID:9341
[13:27:34.790]收←◆width:240 height:320
[13:27:35.453]收←◆Camera Suc
[13:27:37.530]收←◆RGB565_MODE
[13:27:37.619]收←◆DVP START FRAM,the frame_cnt is 0
[13:27:37.753]收←◆DVP FRAM DONE,the href_cnt is 160
DVP STOP FRAM
[13:27:37.885]收←◆DVP START FRAM,the frame_cnt is 1
[13:27:38.018]收←◆DVP STOP FRAM
[13:27:38.153]收←◆DVP START FRAM,the frame_cnt is 2
[13:27:38.285]收←◆DVP STOP FRAM
[13:27:38.419]收←◆DVP START FRAM,the frame_cnt is 3
[13:27:38.552]收←◆DVP STOP FRAM
[13:27:38.686]收←◆DVP START FRAM,the frame_cnt is 4
[13:27:38.818]收←◆DVP STOP FRAM
[13:27:38.952]收←◆DVP START FRAM,the frame_cnt is 5
[13:27:39.085]收←◆DVP STOP FRAM
[13:27:39.218]收←◆DVP START FRAM,the frame_cnt is 6
[13:27:39.353]收←◆DVP STOP FRAM
[13:27:39.485]收←◆DVP START FRAM,the frame_cnt is 7
[13:27:39.618]收←◆DVP STOP FRAM
[13:27:39.752]收←◆DVP START FRAM,the frame_cnt is 8
[13:27:39.884]收←◆DVP STOP FRAM
[13:27:40.019]收←◆DVP START FRAM,the frame_cnt is 9
[13:27:40.151]收←◆DVP STOP FRAM
[13:27:40.285]收←◆DVP START FRAM,the frame_cnt is 10
[13:27:40.418]收←◆DVP STOP FRAM
[13:27:40.551]收←◆DVP START FRAM,the frame_cnt is 11
[13:27:40.683]收←◆DVP STOP FRAM
[13:27:40.818]收←◆DVP START FRAM,the frame_cnt is 12
[13:27:40.952]收←◆DVP FRAM DONE,the href_cnt is 480
DVP STOP FRAM
[13:27:41.085]收←◆DVP START FRAM,the frame_cnt is 13
[13:27:41.217]收←◆DVP STOP FRAM
[13:27:41.351]收←◆DVP START FRAM,the frame_cnt is 14
[13:27:41.484]收←◆DVP STOP FRAM
[13:27:41.617]收←◆DVP START FRAM,the frame_cnt is 15
[13:27:41.750]收←◆DVP STOP FRAM
[13:27:41.884]收←◆DVP START FRAM,the frame_cnt is 16
[13:27:42.018]收←◆DVP FRAM DONE,the href_cnt is 16
[13:27:42.053]收←◆0
DVP STOP FRAM
[13:27:42.151]收←◆DVP START FRAM,the frame_cnt is 17
[13:27:42.283]收←◆DVP STOP FRAM
[13:27:42.417]收←◆DVP START FRAM,the frame_cnt is
[13:27:42.447]收←◆18
[13:27:42.549]收←◆DVP STOP FRAM
[13:27:42.684]收←◆DVP START FRAM,the frame_cnt is 19
[13:27:42.816]收←◆DVP STOP FRAM
[13:27:42.950]收←◆DVP START FRAM,the frame_cnt is 20
[13:27:43.082]收←◆DVP STOP FRAM
[13:27:43.216]收←◆DVP START FRAM,the frame_cnt is 21
[13:27:43.349]收←◆DVP STOP FRAM
[13:27:43.482]收←◆DVP START FRAM,the frame_cnt is 22
[13:27:43.615]收←◆DVP STOP FRAM
[13:27:43.750]收←◆DVP START FRAM,the frame_cnt is 23
[13:27:43.882]收←◆DVP STOP FRAM
[13:27:44.016]收←◆DVP START FRAM,the frame_cnt is 24
[13:27:44.149]收←◆DVP STOP FRAM
[13:27:44.282]收←◆DVP START FRAM,the frame_cnt is 25
[13:27:44.415]收←◆DVP STOP FRAM
[13:27:44.549]收←◆DVP START FRAM,the frame_cnt is 26
[13:27:44.682]收←◆DVP STOP FRAM
[13:27:44.818]收←◆DVP START FRAM,the frame_cnt is 27
[13:27:44.948]收←◆DVP STOP FRAM
[13:27:45.082]收←◆DVP START FRAM,the frame_cnt is 28
[13:27:45.216]收←◆DVP FRAM DONE,the href_cnt is 480
DVP STOP FRAM
[13:27:45.348]收←◆DVP START FRAM,the frame_cnt is 29
[13:27:45.482]收←◆DVP STOP FRAM
[13:27:45.615]收←◆DVP START FRAM,the frame_cnt is 30
[13:27:45.748]收←◆DVP STOP FRAM
[13:27:45.881]收←◆DVP START FRAM,the frame_cnt is 31
[13:27:46.014]收←◆DVP STOP FRAM
[13:27:46.148]收←◆DVP START FRAM,the frame_cnt is 32
[13:27:46.282]收←◆DVP FRAM DONE,the href_cnt is 160
DVP STOP FRAM
[13:27:46.414]收←◆DVP START FRAM,the frame_cnt is 33
[13:27:46.547]收←◆DVP STOP FRAM
[13:27:46.681]收←◆DVP START FRAM,the frame_cnt is 34
[13:27:46.814]收←◆DVP STOP FRAM
[13:27:46.948]收←◆DVP START FRAM,the frame_cnt is 35
[13:27:47.081]收←◆DVP STOP FRAM
[13:27:47.215]收←◆DVP START FRAM,the frame_cnt is 36
[13:27:47.348]收←◆DVP FRAM DONE,the href_cnt is 160
DVP STOP FRAM
[13:27:47.480]收←◆DVP START FRAM,the frame_cnt is 37
[13:27:47.613]收←◆DVP STOP FRAM
[13:27:47.748]收←◆DVP START FRAM,the frame_cnt is 38
[13:27:47.880]收←◆DVP STOP FRAM
[13:27:48.014]收←◆DVP START FRAM,the frame_cnt is 39
[13:27:48.147]收←◆DVP STOP FRAM
[13:27:48.281]收←◆DVP START FRAM,the frame_cnt is 40
[13:27:48.414]收←◆DVP FRAM DONE,the href_cnt is 16
[13:27:48.437]收←◆0
DVP STOP FRAM
[13:27:48.547]收←◆DVP START FRAM,the frame_cnt is 41
[13:27:48.683]收←◆DVP STOP FRAM
[13:27:48.813]收←◆DVP START FRAM,the frame_cnt is 42
[13:27:48.946]收←◆DVP STOP FRAM
[13:27:49.080]收←◆DVP START FRAM,the frame_cnt is 43
[13:27:49.212]收←◆DVP STOP FRAM
[13:27:49.346]收←◆DVP START FRAM,the frame_cnt is 44
[13:27:49.479]收←◆DVP STOP FRAM
[13:27:49.613]收←◆DVP START FRAM,the frame_cnt is 45
[13:27:49.642]收←◆
[13:27:49.746]收←◆DVP STOP FRAM
[13:27:49.879]收←◆DVP START FRAM,the frame_cnt is
[13:27:49.907]收←◆46
[13:27:50.013]收←◆DVP STOP FRAM
[13:27:50.146]收←◆DVP START FRAM,the frame_cnt is 47
[13:27:50.279]收←◆DVP STOP FRAM
[13:27:50.413]收←◆DVP START FRAM,the frame_cnt is 48
[13:27:50.545]收←◆DVP STOP FRAM
[13:27:50.679]收←◆DVP START FRAM,the frame_cnt is 49
[13:27:50.812]收←◆DVP STOP FRAM
[13:27:50.945]收←◆DVP START FRAM,the frame_cnt is 50
[13:27:51.078]收←◆DVP STOP FRAM
[13:27:51.211]收←◆DVP START FRAM,the frame_cnt is 51
[13:27:51.344]收←◆DVP STOP FRAM
[13:27:51.478]收←◆DVP START FRAM,the frame_cnt is 52
[13:27:51.611]收←◆DVP STOP FRAM
[13:27:51.746]收←◆DVP START FRAM,the frame_cnt is 53
[13:27:51.878]收←◆DVP STOP FRAM
[13:27:52.014]收←◆DVP START FRAM,the frame_cnt is 54
[13:27:52.144]收←◆DVP STOP FRAM
[13:27:52.278]收←◆DVP START FRAM,the frame_cnt is 55
[13:27:52.411]收←◆DVP STOP FRAM
[13:27:52.545]收←◆DVP START FRAM,the frame_cnt is 56
[13:27:52.677]收←◆DVP STOP FRAM
[13:27:52.811]收←◆DVP START FRAM,the frame_cnt is 57
[13:27:52.944]收←◆DVP STOP FRAM
[13:27:53.079]收←◆DVP START FRAM,the frame_cnt is 58
[13:27:53.210]收←◆DVP STOP FRAM
[13:27:53.344]收←◆DVP START FRAM,the frame_cnt is 59
[13:27:53.476]收←◆DVP STOP FRAM
[13:27:53.611]收←◆DVP START FRAM,the frame_cnt is 60
[13:27:53.743]收←◆DVP STOP FRAM
[13:27:53.877]收←◆DVP START FRAM,the frame_cnt is 61
[13:27:54.013]收←◆DVP STOP FRAM
[13:27:54.143]收←◆DVP START FRAM,the frame_cnt is 62
[13:27:54.277]收←◆DVP STOP FRAM
[13:27:54.411]收←◆DVP START FRAM,the frame_cnt is 63
[13:27:54.542]收←◆DVP STOP FRAM
[13:27:54.676]收←◆DVP START FRAM,the frame_cnt is 64
[13:27:54.810]收←◆DVP STOP FRAM
[13:27:54.943]收←◆DVP START FRAM,the frame_cnt is 65
[13:27:55.076]收←◆DVP STOP FRAM
[13:27:55.210]收←◆DVP START FRAM,the frame_cnt is 66
[13:27:55.343]收←◆DVP STOP FRAM
[13:27:55.476]收←◆DVP START FRAM,the frame_cnt is 67
[13:27:55.610]收←◆DVP STOP FRAM
[13:27:55.743]收←◆DVP START FRAM,the frame_cnt is 68
[13:27:55.877]收←◆DVP STOP FRAM
[13:27:56.011]收←◆DVP START FRAM,the frame_cnt is 69
[13:27:56.142]收←◆DVP STOP FRAM
[13:27:56.276]收←◆DVP START FRAM,the frame_cnt is
[13:27:56.307]收←◆70
[13:27:56.409]收←◆DVP STOP FRAM
[13:27:56.542]收←◆DVP START FRAM,the frame_cnt is 71
[13:27:56.675]收←◆DVP STOP FRAM
打印代码如下:
void DVP_IRQHandler(void)
{
if (DVP->IFR & RB_DVP_IF_ROW_DONE)
{
// printf("DVP ROW DONE\r\n");
/* Write 0 clear 0 */
DVP->IFR &= ~RB_DVP_IF_ROW_DONE; //clear Interrupt
#if (DVP_Work_Mode == RGB565_MODE)
if (addr_cnt%2) //buf1 done
{
addr_cnt++;
//Send DVP data to LCD
DMA_Cmd(DMA2_Channel5, DISABLE );
DMA_SetCurrDataCounter(DMA2_Channel5,lcddev.width);
DMA2_Channel5->PADDR = RGB565_DVPDMAaddr0;
DMA_Cmd(DMA2_Channel5, ENABLE);
}
else //buf0 done
{
addr_cnt++;
//Send DVP data to LCD
DMA_Cmd(DMA2_Channel5, DISABLE );
DMA_SetCurrDataCounter(DMA2_Channel5,lcddev.width);
DMA2_Channel5->PADDR = RGB565_DVPDMAaddr1;
DMA_Cmd(DMA2_Channel5, ENABLE);
}
href_cnt++;
#endif
}
if (DVP->IFR & RB_DVP_IF_FRM_DONE)
{
DVP->IFR &= ~RB_DVP_IF_FRM_DONE; //clear Interrupt
#if (DVP_Work_Mode == RGB565_MODE)
printf("DVP FRAM DONE,the href_cnt is %d\r\n",href_cnt);
addr_cnt = 0;
href_cnt = 0;
#endif
}
if (DVP->IFR & RB_DVP_IF_STR_FRM)
{
DVP->IFR &= ~RB_DVP_IF_STR_FRM;
printf("DVP START FRAM,the frame_cnt is %d\r\n",frame_cnt);
frame_cnt++;
}
if (DVP->IFR & RB_DVP_IF_STP_FRM)
{
printf("DVP STOP FRAM\r\n");
DVP->IFR &= ~RB_DVP_IF_STP_FRM;
}
if (DVP->IFR & RB_DVP_IF_FIFO_OV)
{
printf("DVP FIFO OV\r\n");
DVP->IFR &= ~RB_DVP_IF_FIFO_OV;
#if 0
printf("FIFO OV\r\n");
#endif
}
}
按理说:href_cnt为320产生一个RB_DVP_IF_FRM_DONE,然后清零。每一行为240像素,每个像素2字节,也就是480。按奇偶存储到不同的地址空间进行显示去。
问题:1、这种杜邦线是否能够实现出图?还是需要字节做板子用FPC连接出图。
2、中断未检测到是否多半与杜邦线连接有关?
3、能给出一些指导意见,从现有硬件上调出图像。