使用 stm32f429-discovery LTDC 控制 WVGA 显示器

标签 c embedded rgb lcd stm32f4discovery

我正在尝试使用STM32F4上的LCD-TFT显示 Controller (LTDC 18位)在7英寸TFT-LCD显示器(MCT070PC12W800480LML)上输出一些数据。

LTDC 接口(interface)设置在 CubeMx 中配置。在程序中,lcd 数据缓冲区是用一些值创建的,它的起始地址映射到 LTDC 帧缓冲区起始地址。

此时显示屏不会对 LTDC 发送的数据使用react。当我将数字电路的地线和电源连接到 3 伏电源后,它只显示白色和黑色 strip 。 VLED+ 连接至 9 伏电源。 VSYNC、HSYNC 和 CLOCK 信号由 LTDC 生成,并且它们与指定值匹配。我在 LCD 条上测量了它们,所以连接应该是正确的。我还尝试在 LCD 复位引脚上施加脉冲,但这没有任何意义。

时间设置可能有误。 My current settings:

LTDC 时钟为 33 MHz。

这里是 diplay 数据表的链接 http://www.farnell.com/datasheets/2151568.pdf?_ga=2.128714188.1569403307.1506674811-10787525.1500902348我看到其他一些 WVGA 显示器使用相同的同步信号时序,因此我认为时序是此类显示器的标准。

也许信号极性错误或者我遗漏了其他东西。我现在使用的程序,在 LCD 中的 stm32f429-discovery 上工作,我只是改变了时序。有什么建议吗?

谢谢。

最佳答案

可能是其他原因,但我发现您的计时值存在问题。

水平和垂直的后沿都包含同步脉冲,但必须有同步脉冲宽度。我的观察是,您尝试通过将同步脉冲设置为 0,根据数据表获取 h = 1056 和 v = 525 的总时钟。这是行不通的。

我会将 hsync 脉冲设为 20,将 vysnc 设为 10。总时钟将相同,但它们是否与规范表相符并不重要。

关于使用 stm32f429-discovery LTDC 控制 WVGA 显示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47064750/

相关文章:

opencv - 有没有一种直接的方法可以在 opencv C++ 中获取表示 RGB 颜色的唯一值

c - C中的特殊参数声明函数

c - 为什么 C 中的结构似乎只分配在 Flash(ROM) 内存中?

c - 静态与非静态函数 - 调试嵌入式系统上下文

c# - 如何在 C# 中将 RGB555 转换为 RGB888?

algorithm - HSL 到 RGB 颜色转换

c - 在嵌入式系统中静态分配 "common library"的方法

分别从 stdin/stdout 读取/写入时 CGI 程序超时

对系统调用逻辑感到困惑

c - 了解指针在嵌入式系统中的使用