STM32利用STM32CubeMX驱动RGB屏

您所在的位置:网站首页 stm32驱动电容屏 STM32利用STM32CubeMX驱动RGB屏

STM32利用STM32CubeMX驱动RGB屏

2024-06-13 12:34| 来源: 网络整理| 查看: 265

接上一次博客,上次SDRAM虚拟的内存起始地址为0xC0000000,这一次将作为LTDC显存的起始地址。分辨率800*480颜色格式RGB888的屏幕,每层所需的显存为800x480x3字节=1125K字节≈1.1M字节。

1.打开上次的STM32CubeMX工程,勾上DMA2D,勾上LTDC并选择RGB888模式,另外LTDC引脚复用很严重,需要根据自己板子改对应引脚。打开后在层设置里选择1层,STM32的LTDC一般最大可使用2层,正常情况下用1层足矣,然后设定第0层的长宽像素和颜色格式等参数。 在这里插入图片描述

2.参数设置,根据自己RGB屏可微调,调不好可能RGB屏会花也有可能RGB屏根本不工作。设置完后打开LTDC的全局中断。 在这里插入图片描述

3.LTDC时钟一般30MHz左右即可,跟颜色格式和SDRAM位宽有关,颜色格式低时LTDC时钟可适当调高,SDRAM位宽高时LTDC时钟也可适当调高。 在这里插入图片描述

4.生成工程后,在ltdc.h中的代码保护段添加如下代码,其中声明了三个函数,完后再在ltdc.c中的代码保护段实现这三个函数,当中最重要的就是LCD_CopyBuffer了,移植图形库GUI时,这个函数就是最底层刷图的函数。 在这里插入图片描述

5.把SDRAM虚拟的内存起始地址为0xC0000000,设置为LTDC第0层显存的起始地址。 在这里插入图片描述

6.在ltdc.c中HAL_LTDC_MspInit函数的代码保护段里添加背光引脚的初始化代码。 在这里插入图片描述

7.在主函数的代码保护段调用如下代码,注意,LTDC初始化必须在SDRAM初始化之后。在这里插入图片描述

8.循环中以间隔3s红绿蓝依次刷屏。 在这里插入图片描述 留下MDK工程,其中包括CubeMX配置工程。 链接: https://pan.baidu.com/s/1J_OZBJlzSh76ss7mCIvVCw 提取码: i8im



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3