你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32746G-Discovery】LTDC单层图像显示

[复制链接]
eefishing 发布时间:2016-7-19 14:31

TFT的接口如下图:

1.png

LCD-TFT(液晶显示器——薄膜晶体管)显示器控制器提供并行数字 RGB (红色、绿色、蓝色)以及水平同步、垂直同步、像素时钟和数据使能信号,这些信号直接输出到不同 LCD和 TFT面板的接口。

主要功能:

24 位 RGB并行像素输出;每像素 8 位 (RGB888)。

2个带有专用 FIFO的显示层(FIFO 深度 64x32位)。

查色表 (CLUT) ,每层高达 256 种颜色(256x24位)。

支持高达 XGA (1024x768) 的分辨率。

可针对不同显示面板编程时序。

可编程背景色。

可编程 HSync、VSync 和数据使能信号的极性。

每层有多达 8 个输入颜色格式可供选择。

1、ARGB8888

2、RGB888

3、RGB565

4、ARGB1555

5、ARGB4444

6、L8(8位 Luminance或 CLUT )

7、AL44(4位 alpha + 4位 luminance )

8、AL88(8位 alpha + 8位 luminance )

每通道的低位采用伪随机抖动输出。红色、绿色、蓝色的抖动宽度为 2 位。

使用 alpha 值(每像素或常数)在两层之间灵活混合。

色键(透明颜色) 。

可编程窗口位置和大小 。

支持薄膜晶体管 (TFT) 彩色显示器 。

AHB 主接口支持 16个字的突发。

高达 4 个可编程中断事件。

时钟:

AHB 时钟域 (HCLK) :用于将数据从存储器传输到 FIFO层APB2时钟域 (PCLK2):用于配置寄存器像素时钟域 (LCD_CLK) :用于生成 LCD-TFT接口信号。LCD_CLK输出应按照面板要求配置。LCD_CLK通过 PLLSAI进行配置(见 RCC部分)。

时钟配置程序:

  1. PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC;
  2.    PeriphClkInitStruct.PLLSAI.PLLSAIN = 192;
  3.    PeriphClkInitStruct.PLLSAI.PLLSAIR = 5;
  4.    PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_4;
  5.    HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct);
复制代码

引脚

LCD-TFT最多可以使用28个引脚。

2.png

液晶时序配置

  1. hltdc_F.Init.HorizontalSync = (RK043FN48H_HSYNC - 1);
  2.   hltdc_F.Init.VerticalSync = (RK043FN48H_VSYNC - 1);
  3.   hltdc_F.Init.AccumulatedHBP = (RK043FN48H_HSYNC + RK043FN48H_HBP - 1);
  4.   hltdc_F.Init.AccumulatedVBP = (RK043FN48H_VSYNC + RK043FN48H_VBP - 1);
  5.   hltdc_F.Init.AccumulatedActiveH = (RK043FN48H_HEIGHT + RK043FN48H_VSYNC + RK043FN48H_VBP - 1);
  6.   hltdc_F.Init.AccumulatedActiveW = (RK043FN48H_WIDTH + RK043FN48H_HSYNC + RK043FN48H_HBP - 1);
  7.   hltdc_F.Init.TotalHeigh = (RK043FN48H_HEIGHT + RK043FN48H_VSYNC + RK043FN48H_VBP + RK043FN48H_VFP - 1);
  8.   hltdc_F.Init.TotalWidth = (RK043FN48H_WIDTH + RK043FN48H_HSYNC + RK043FN48H_HBP + RK043FN48H_HFP - 1);
复制代码

背景色配置:

  1. hltdc_F.Init.Backcolor.Blue = 0;
  2.   hltdc_F.Init.Backcolor.Green = 0;
  3.   hltdc_F.Init.Backcolor.Red = 0;
复制代码

这里使用的hltdc_F 变量是一个LTDC_HandleTypeDef类型的结构体。

3.png

窗口配置,这里只显示了一个图层。

配置开始、结束的像素位置坐标,也就是整个屏幕。

  1. pLayerCfg.WindowX0 = 0;
  2. pLayerCfg.WindowX1 = 480;
  3. pLayerCfg.WindowY0 = 0;
  4. pLayerCfg.WindowY1 = 272;
复制代码

像素格式配置成为RGB565。

  1. pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;
复制代码

显示图像的起始地址:

  1. pLayerCfg.FBStartAdress = (uint32_t)&RGB565_480x272;
复制代码

Alpha配置为255.

  1. pLayerCfg.Alpha = 255;
复制代码

最后通过HAL_LTDC_ConfigLayer函数初始化TFT与配置图层。

HAL_LTDC_ConfigLayer(&hltdc_F, &pLayerCfg, 1);

显示结果。

4.jpg


1 收藏 2 评论6 发布时间:2016-7-19 14:31

举报

6个回答
stary666 回答时间:2016-7-19 16:05:29
奔跑着 回答时间:2017-1-14 20:47:41
如果进行竖屏显示该如何配置呢?
jcx0324 回答时间:2017-1-20 10:30:18
接线的时候是RGB888,配置成565的?
zhumingxing 回答时间:2019-11-1 11:42:05
请问如何在图片上写文字啊
zhumingxing 回答时间:2019-12-5 14:34:27
楼主图片刷新速度如何
hans5966 回答时间:2019-12-17 09:08:25
想请教,我也在测试这个部分,却遇到该层无法显示的问题,您有没有什么建议

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版