u16 testsram[76800] __attribute__((at(0X68000000)));
void rgb565_test(void)
{
OV2640_RGB565_Mode();
My_DCMI_Init();
DCMI_DMA_Init((u32)testsram,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);
OV2640_OutSize_Set(lcddev.width,lcddev.height);
OV2640_Contrast(4);
OV2640_Color_Saturation(0);
OV2640_Color_Bar(1);
DCMI_Start();
while(1);
}
void DCMI_IRQHandler(void)
{
if(DCMI_GetITStatus(DCMI_IT_FRAME)==SET)
{
DCMI_Stop();
DCMI_DMA_Init((u32)testsram,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);//DCMI DMA????
rgb_process();
DCMI_Start();
DCMI_ClearITPendingBit(DCMI_IT_FRAME);
LED1=!LED1;
ov_frame++;
}
}
void rgb_process(void)
{
u32 z=0;
u16 x,y;
z=0;
for(x=0;x<240;x++)
for(y=0;y<320;y++)
{
LCD->LCD_RAM=testsram[z];
z++;
LED0=!LED0;
}
}
但是直接通过例程DCMI_DMA_Init((u32)&LCD->LCD_RAM,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);显示却不会乱码,想了好多天都不知道什么原因求帮助
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>