有人对F429的LTDC理解很透彻的吗,有几个问题求助

2019-07-20 14:19发布

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, &LTDC_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()这一个函数往里写数据就行 ,现在 这样解码额数据应该怎么往里写呢?


真心求懂的人帮忙解答,这个问题困扰一周了 。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
zhaoshan413
2019-07-21 04:47
孤独的流浪者 发表于 2017-5-26 16:33
谢谢,你说的很详细。我晚上测试一下。

还有一个问题  。 我向SDRAM 的BANK2   写入数据(地址0XD0000 ...

不用谢...

SDRAM读写数据丢失的问题,建议不要纠结,直接拷贝库里面的例程或开发板的例程,这些都是测试没有问题的,如果仅仅是使用,比葫芦画瓢直接使用即可。

按照你的描述有部分数据是正确的,应该初始化时序配置出问题的可能性比较小,建议检查所有的SDRAM片选和地址线配置的是否都正确,另外先使用字节访问方式访问验证是不是正确,使用半字和字方式访问注意地址变化是否正确...

祝你好运!

一周热门 更多>