STM32利用STM32CubeMX驱动RGB屏 |
您所在的位置:网站首页 › stm32驱动电容屏 › STM32利用STM32CubeMX驱动RGB屏 |
接上一次博客,上次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 |