2019-07-20 06:04发布
yhh 发表于 2017-3-25 21:55 怎么解决的?
脚叔 发表于 2017-5-12 15:46 参考了版主的代码,自己又重新理解了原子哥代码,实现了160*120的数据搬移和显示,main函数我没动。我的核 ...
最多设置5个标签!
DCMI_DMA_Init((u32)&buffer,buf_size,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);
OV2640_OutSize_Set(320,240);
while(1)
{
DMA_Cmd(DMA2_Stream1, ENABLE);
DCMI_CaptureCmd(ENABLE);
}
jpeg_data_process这个函数中原来的全部去掉,改成下面内容:
u16 i,j,Bdata,data=0;
for(i=0;i<120;i++)
for(j=0;j<160;j++)
{
Bdata=data++;
LCD_SetCursor(j,i);
LCD_WriteRAM_Prepare();
LCD->LCD_RAM=buffer[Bdata];
}
Bdata = 0;
data = 0;
其中有几个参数的设置如下:
#define buf_size 160*120
u32 buffer[buf_size];
现象是会在屏幕上看到有一个160*120的窗口,实时显示着摄像头采集回来的数据。
有一点让我感到很纳闷,那就是我把OV2640_OutSize_Set(320,240); 改成OV2640_OutSize_Set(160,120); 显示的是四个窗口,四个都是一样的窗口,不明白是哪里错了,我知道是摄像头的设置有问题,改成了OV2640_OutSize_Set(320,240); 输出的视频数据正常。还希望原子哥解答一下,该怎么去设置 @正点原子
看我的回复
你好,我照着您的代码试了一下,但是显示设置变量过大,就是buffer,用的是正点原子407的板子,就算把他弄成80*60还是显示没有空间,不知道怎么回事
一周热门 更多>