我现在的想法很简单,就是在例程的基础上,想将图像数据放到一个数组中,在给显存。DCMI_DMA_Init((u32)databuf,size,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Disable);其中databuf是我定义的数组,size为60000,我想通过dma一次将一帧数据给到数组,然后帧中断,再将数组中的数据给显存,结果老是死机。
u16 i,data;
void DCMI_IRQHandler(void)
{
if(DCMI_GetITStatus(DCMI_IT_FRAME)==SET)//捕获一帧数据
{
DCMI_ClearITPendingBit(DCMI_IT_FRAME);//清除帧中断
LED1=!LED1;
for(i=0;i<800*480;i++)//这是我写的将数组的数据写到显存中,
{
data=databuf;
LCD->LCD_RAM=data;
}
DCMI_Start();
}
} |