1. LTDC_Layer_InitStruct.LTDC_HorizontalStart = HBP+1;//30; 43
LTDC_Layer_InitStruct.LTDC_HorizontalStop = (LCDX + HBP );
LTDC_Layer_InitStruct.LTDC_VerticalStart = VBP+1;//4;
LTDC_Layer_InitStruct.LTDC_VerticalStop = (LCDY + VBP ); //(272 + 12 - 1);
LTDC_Layer_InitStruct.LTDC_PixelFormat = LTDC_Pixelformat_RGB565;
LTDC_Layer_InitStruct.LTDC_ConstantAlpha = 255;
LTDC_Layer_InitStruct.LTDC_BlendingFactor_1 = LTDC_BlendingFactor1_CA; // LTDC_BlendingFactor1_CA
LTDC_Layer_InitStruct.LTDC_BlendingFactor_2 = LTDC_BlendingFactor2_CA; //LTDC_BlendingFactor2_CA
LTDC_Layer_InitStruct.LTDC_DefaultColorBlue = 0x0000ff;
LTDC_Layer_InitStruct.LTDC_DefaultColorGreen = 0;
LTDC_Layer_InitStruct.LTDC_DefaultColorRed = 0;
LTDC_Layer_InitStruct.LTDC_DefaultColorAlpha = 0;
LTDC_Layer_InitStruct.LTDC_CFBLineLength = ((LCDX * 2) + 3);
LTDC_Layer_InitStruct.LTDC_CFBPitch = (LCDX * 2);
LTDC_Layer_InitStruct.LTDC_CFBLineNumber = LCDY;
LTDC_Layer_InitStruct.LTDC_CFBStartAdress = (uint32_t)&gImage_gg;
LTDC_LayerInit(LTDC_Layer1, <DC_Layer_InitStruct);
LTDC_LayerCmd(LTDC_Layer1, ENABLE);
LTDC_ReloadConfig(LTDC_IMReload);
这是配置layer的代码,LTDC_Layer_InitStruct.LTDC_CFBStartAdress = (uint32_t)&gImage_gg; gImage_gg是用软件生成的一个c语言数组。为什么调用 LTDC_ReloadConfig(LTDC_IMReload);这一句图片就直接显示出来了?
2.用F4自带的驱动LCD ,它的DMA2D 和 外挂的SDRAM的作用是什么?应该怎样使用MA2D和SDRAM?
3.我是直接读的SD卡的图片出来解码,把图片的一行数据读出来再解码放到一个数组里, 以前用SSD1963时带了LCD_WR_Data()这一个函数往里写数据就行 ,现在 这样解码额数据应该怎么往里写呢?
真心求懂的人帮忙解答,这个问题困扰一周了 。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不用谢...
SDRAM读写数据丢失的问题,建议不要纠结,直接拷贝库里面的例程或开发板的例程,这些都是测试没有问题的,如果仅仅是使用,比葫芦画瓢直接使用即可。
按照你的描述有部分数据是正确的,应该初始化时序配置出问题的可能性比较小,建议检查所有的SDRAM片选和地址线配置的是否都正确,另外先使用字节访问方式访问验证是不是正确,使用半字和字方式访问注意地址变化是否正确...
祝你好运!
一周热门 更多>