DMA疑惑

2019-07-20 23:13发布


小弟不想dma直接 DCMI------LCD,  偏要 DCMI---sxx----LCD,因为俺想把ss1用wifi发走。可是为什么DCMI---sxx----LCD是花屏呢。。。
根据例程改的。


u16 sxx[1024]


        OV2640_RGB565_Mode();       
        My_DCMI_Init();                       
        DCMI_DMA_Init((u32)&sxx,1,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);///  设定从DCMI到 sxx,  从 摄像头实验来的
        OV2640_OutSize_Set(lcddev.width,lcddev.height);
        DCMI_CaptureCmd(ENABLE);
        while(1)
        {
                   MYDMA_Enable(DMA2_Stream1,128);     /////使能一次传输.
                                while(1)
                    {
                                if(DMA_GetFlagStatus(DMA2_Stream1,DMA_FLAG_TCIF1)!=RESET)///////一次传输完成
                                {
                                        for(i=255;i>=0;i--)//////考虑到先传输的在后面,后传输的在前面,同时 32 位 到 16位, 故从128增加到256
                                        {
                                        LCD->LCD_RAM=sxx[i];////////然后就花屏了
                                        }       
                                        break;
                        }                       
                     }
}








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。