打印
[应用相关]

STM32硬件基础--LTDC显示图像

[复制链接]
楼主: parameters
手机看帖
扫描二维码
随时随地手机跟帖
21
parameters|  楼主 | 2020-6-26 15:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
调试模式(ST-LINK):

使用特权

评论回复
22
parameters|  楼主 | 2020-6-26 15:05 | 只看该作者
配置主时钟、像素时钟:

使用特权

评论回复
23
parameters|  楼主 | 2020-6-26 15:06 | 只看该作者
HCLK配置为最高频率216MHz;绿框中的 LCD-TFT 的频率默认是48MHz,超出了5--12 的范围(见图八),但这个值是灰色的、无法更改。这是因为LTDC还没有启用,像素时钟是通过LTDC的寄存器配置的,所以到这一步还无法配置像素时钟。

使用特权

评论回复
24
parameters|  楼主 | 2020-6-26 15:07 | 只看该作者
下面配置LTDC,需要三个步骤,先配置LTDC的参数:

Display Type 选 RGB888,是因为LTDC的硬件接口是RGB各占8-bit,共24条数据线(跟显存数据格式RGB565等不是一个概念、不要混淆)。

使用特权

评论回复
25
parameters|  楼主 | 2020-6-26 15:08 | 只看该作者
然后配置图层参数:

使用特权

评论回复
26
parameters|  楼主 | 2020-6-26 15:08 | 只看该作者
为了简化,选择了一个图层(layer1,直接显示、不关layer2的事了),图像格式是RGB565,这是显存中数据的格式。我们将在代码编程时,通过ST的图像格式转换工具将一个demo图片转化成C语言数组数据,而这个数据是RGB565的,所以上面layer1要选RGB565格式。Buffer的起始地址设置成了0xC000 0000,这是开发板上SDRAM的地址,我们的测试程序为了简化,不使用SDRAM作显存,而是直接从片内FLASH中读取图片,在CUBEMX生成的代码中,需要修改这个地址(见后)。Alpha选了最大值255,就是完全不透明显示图片(即原图)。如果Alpha=128,将看到半透明的图片;Alpha=0的话,就什么也看不到了。

使用特权

评论回复
27
parameters|  楼主 | 2020-6-26 15:09 | 只看该作者
第三步,也是容易被忽略的一步,检查LTDC用到的GPIO复用管脚是否正确。这是CUBEMX默认配置的:

使用特权

评论回复
28
parameters|  楼主 | 2020-6-26 15:09 | 只看该作者
与开发板原理图对比,上图中大部分GPIO的配置不对。按照电路图重新配置如下:

使用特权

评论回复
29
parameters|  楼主 | 2020-6-26 15:48 | 只看该作者
LTDC本身的所有参数配置完毕了(为什么强调“本身”?见后),再回到时钟配置页,因为LTDC使能了,图十四绿框中的参数不再是灰色的了,按下图将像素时钟DCLK配置成9.8MHz:

使用特权

评论回复
30
parameters|  楼主 | 2020-6-26 15:48 | 只看该作者
至此,所有参数配置完成了吗?没有,还差一点点。在图四时说过 LCD_BL_CTRL 和 LCD_DISP 2个信号线,它们不是LTDC本身具有的,是控制液晶面板必须的,需要将这两个GPIO配置成输出模式、并初始化成高电平:

使用特权

评论回复
31
parameters|  楼主 | 2020-6-26 15:49 | 只看该作者
全部配置工作完成,生成KEIL代码。(完整代码下载地址:https://github.com/haidongqing/ltdc-demo)

使用特权

评论回复
32
parameters|  楼主 | 2020-6-26 15:49 | 只看该作者
在main.c文件中,修改 MX_LTDC_Init():

使用特权

评论回复
33
parameters|  楼主 | 2020-6-26 15:50 | 只看该作者
0xC000 0000是图十六配置的参数,例程中图片数据是保存在flash中的。图片数据保存在头文件 RGB565_480x272.h 中:


使用特权

评论回复
34
parameters|  楼主 | 2020-6-26 15:50 | 只看该作者
编译、烧写,运行后的结果:

使用特权

评论回复
35
parameters|  楼主 | 2020-6-26 15:51 | 只看该作者
touchgfx用到的三大硬件接口技术:FMC(SDRAM)、QaudSPI(NOR FLASH)、LTDC(TFT Panel),到今天全部介绍完了,下一步将进入touchgfx开发的正题:使用CUBEMX从零开始配置touchgfx!(待续......)

使用特权

评论回复
36
parameters|  楼主 | 2020-6-26 15:52 | 只看该作者
作者:海东青电子
链接:https://www.jianshu.com/p/216388df4d4d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

使用特权

评论回复
37
wakayi| | 2020-7-10 16:47 | 只看该作者
长知识了 呵呵

使用特权

评论回复
38
wowu| | 2020-7-10 16:47 | 只看该作者
非常的详细

使用特权

评论回复
39
xiaoqizi| | 2020-7-10 16:48 | 只看该作者
得到的频率是多少啊

使用特权

评论回复
40
木木guainv| | 2020-7-10 16:48 | 只看该作者
请问刷新频率有要求吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则