ST意法半导体
直播中

山中老虎

9年用户 1014经验值
擅长:制造/封装
私信 关注
[问答]

4.3" TFT-LCD使用与FMC接口的LTDC+ 外部SDRAM始终闪烁怎么解决

嗨,我测试了我的 4.3" TFT-LCD,用一种蓝色或橙色刷新整个屏幕,频率约为 34hz,但它会闪烁。


主函数中运行的测试代码:
  诠释二= 0;
  int cl = 0x0;//颜色
  而(1)
  {
  
       如果(ii==0)
      {
       ii = 1;
       cl = 0xFF00;
       }别的
       {
       ii = 0;
       CL = 0x00FF;
       }
       LTDC_Clear(cl);//改变场景颜色。
       HAL_延迟(30);
  }

tftlcd时钟为10Mhz,分辨率为480*272,LTDC_Clear()运行DMA2D刷新数据,如下:
CS_UINT32超时=0;
        DMA2D->CR = DMA2D_R2M;// dma2d 模式:注册到内存。
  DMA2D->OPFCCR = DMA2D_OUTPUT_RGB565;
  DMA2D->OCOLR = 颜色;
  DMA2D->OMAR = (CS_UINT32) 地址;
  DMA2D->OOR = 偏移线;//抵消
  DMA2D->NLR = (CS_UINT32)(xSize << 16) | (uint16_t)y大小;
   
  DMA2D->CR |= DMA2D_CR_START;
  同时 (DMA2D->CR & DMA2D_CR_START) {
  超时++;
  如果(超时 > 0X1FFFFF)中断;  
谢谢你。






回帖(1)

刘勇

2022-12-1 11:46:54
好的,稍微解释一下 LTDC 是用于在 RGB 模式下将像素从帧缓冲存储器传输到 LCD 硬件线的硬件。这是基于 LCD_CLK 并连续传输内存中的内容。
DMA 是用于将数据从一个地方移动到另一个地方的硬件,但不直接显示 = 不刷新相关。
要同步这两个硬件,您需要实现帧中断。加时序计算...
您的代码在没有同步的情况下开始更改颜色,并提供 LTDC 实际绘制的部分信息...
举报

更多回帖

发帖
×
20
完善资料,
赚取积分