STM32F4 驱动LCD白屏问题

文章描述了一位工程师在设计温度按键设定、显示、报警系统时遇到的LCD显示问题。通过检查硬件连接、读取LCDID、调整电源稳定性及修改驱动代码,最终解决了屏幕白屏的故障。问题根源在于不兼容的驱动代码和ST7789驱动需要特殊处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 前言

最近接到一个任务:

温度按键设定、显示、报警系统设计

基本要求 :设计一LCD显示系统,实现以下功能:   

读取DS18B20温度,在液晶上实时显示,并显示上、下限,初始值上限32,下限26。

通过按键可以设置环境温度的上限和下限,

LCD显示器中间显示年月日时,下方显示温度。

当温度超过上限,温度隔1秒跳一次,温度为红色显示。超过下限,温度隔1秒亮一次,为黄色显示。(也可增加蜂鸣器报警方式)

显然这个题目需要用到LCD,所以我利用FSMC来进行LCD显示。

  1. 遇到的问题

屏幕白屏,下载另一个代码屏幕变成了花屏(这里就不放图片了,语言描述得比较清楚)。

  1. 解决措施

首先我去检查了一下硬件,果然果然连错了,有两根线连反了,好了结束,问题解决,我以为问题到这已经解决,可是造化弄人,我满怀期待的下载代码,之后白屏现象仍在。

好消息是硬件连线没有问题了,坏消息是不知道该从哪里下手往下找问题。

由于所有的硬件是我自己打板焊接的,所有我现检查有没有虚焊,查了一圈,用烙铁重新拖了一遍,发现问题仍旧没有解决。然后我用串口读取了一下LCD 屏幕的ID结果发现,读取的ID为0xffff,这我就没辙了呀,ID都读错了。于是我上网上寻求帮助,得到的第一个有可行性的答复是电源不稳定,于是在我的电源处加了两个滤波电容,但是没用;得到的第二个有可行性的答复是boot1角需要下拉要接一个下拉电阻,于是我加了一个10K的下拉电阻,发现还是没用;得到的第三个有可行性的答复为下载新的LCD驱动代码(正点原子),我发现我现在用的就是新的HAL库的驱动代码,然后我突发奇想,我换成旧的库函数代码会怎样。最后下载完程序成功点亮了哦不点红了(原来就是白屏啊喂)LCD屏幕,因为我用的屏幕是ST7789驱动有的代码中是没有写这部分驱动的所以需要更换代码,自己修改驱动代码也是可以的。

总结:

检查硬件连线与焊接

读取LCD的ID是否正常

电源附近加滤波电容

boot1加下拉电阻

换成或修改成支持屏幕驱动的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The hopes of the whole village

看心情打赏咯

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值