概述
本文介绍如实使能LTDC驱动,进行屏幕点亮及测试工作。
1、屏幕参数及接口整理
我们使用的是正点原子的ATK4342型号的RGB565接口屏幕,屏幕的相关参数如下:
根据正点原子开发板手册可知,屏幕控制相关的LTDC接口定义如下
2、CubeMx配置
打开Cubemx进行LTDC接口的使能及配置
配置时需要保证接口与上表中进行匹配 对应
保证配置接口速度为Very High
LTDC时钟配置,,本文第一个表格中已经给出该屏幕的时钟信号应该在5-12Mhz,所以我们必须保证LTDC的时钟在该范围内。配置如下。
生成文档,关闭Cubemx软件。
2、文件拷贝
- drv_lcd.c到dirvers文件夹
C:RT-ThreadStudiorepoExtractRT-Thread_Source_CodeRT-Thread4.0.3bspstm32librariesHAL_Drivers
- lcd_port.h到drversinclude文件夹
C:RT-ThreadStudiorepoExtractBoard_Support_PackagesRealThreadSTM32F429-FIRE-CHALLENGER .1.0rtt_default_project_0boardports
3、文件修改
对lcd_port.h文件中的定义根据表1中的相关参数进行修改。同时对背光控制进行修改,正点原子使用PB5管脚记性背光控制。修改为如下设置。
#ifndef __LCD_PORT_H__
#define __LCD_PORT_H__
#define LCD_WIDTH 480
#define LCD_HEIGHT 272
#define LCD_BITS_PER_PIXEL 16
#define LCD_BUF_SIZE (LCD_WIDTH * LCD_HEIGHT * LCD_BITS_PER_PIXEL / 8)
#define LCD_PIXEL_FORMAT RTGRAPHIC_PIXEL_FORMAT_RGB565
#define LCD_HSYNC_WIDTH 1
#define LCD_VSYNC_HEIGHT 1
#define LCD_HBP 40
#define LCD_VBP 5
#define LCD_HFP 8
#define LCD_VFP 5
#define LCD_BACKLIGHT_USING_GPIO
#define LCD_BL_GPIO_NUM GET_PIN(B, 5)
#endif
对board.h文件进行修改,增加宏定义如下
#define BSP_USING_LCD
3、编译错误解决
编译后报错如下
修改drv_lcd.c文件,进行头文件的增加及Debug功能的使能。
LCD背光错误修改
3、下载验证
编译无误后,下载代码后,串口出现如下提示
问题分析:
我们使用的是480*272分辨率且接口定义为RGB565。所以单幅画面所需的内存大小为480*272*2=261120byte=255kb。255kb远大于STM32F429IG可使用的RAM大小,所以我们需要使用上篇文章中使能的SDRAM来进行内存的申请,具体配置如下。打开RT-Thread Setting
使能相关配置后进行编译下载验证,串口显示如下
串口发送命令lcd_test,屏幕进行闪烁颜色切换
LCD
最后
以上就是孤独白云为你收集整理的RT-Thread使用-----TouchGfx(3)----LTDC1、屏幕参数及接口整理2、CubeMx配置2、文件拷贝 3、文件修改 3、编译错误解决 3、下载验证的全部内容,希望文章能够帮你解决RT-Thread使用-----TouchGfx(3)----LTDC1、屏幕参数及接口整理2、CubeMx配置2、文件拷贝 3、文件修改 3、编译错误解决 3、下载验证所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复