F429驱动TFT裸屏时LTDC

这篇具有很好参考价值的文章主要介绍了F429驱动TFT裸屏时LTDC。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

F429驱动TFT裸屏时LTDC时序配置说明(以V6的7寸驱动为例)
说明:
1. 经常有兄弟问到这个问题,所有这里就写一个帖子。
2. 基础知识学习:
TFT LCD的DE模式和HV模式的区别:http://bbs.armfly.com/read.php?tid=18525
3. 7寸RGB屏规格书 

F429驱动TFT裸屏时LTDC

 7寸屏高亮(800x480)GL070009T0-40 3.5H.pdf (564 K)
7寸RGB屏使用的source driver ic OTA7001手册  DATA_SHEET_OTA7001A_V06.pdf (914 K)
(下载地址:http://bbs.armfly.com/read.php?tid=18528)
(下载地址:http://bbs.armfly.com/read.php?tid=18528)
(下载地址:http://bbs.armfly.com/read.php?tid=18528)
======================================================
LTDC时序配置主要分三步就可以完成
1. 行同步,场同步,DE的极性配置
2 CLK时钟配置
3. 时序参数配置。
下面分别简单的说明下
======================================================
1. 行同步,场同步,DE的极性配置
这个的配置要看OTA7001手册上面的时序图,对于DE模式,行同步和场同步的极性配置为高或者为低均可。 我们这里使用的就是DE模式。所以主要配置DE的极性,这里要特别注意一个小问题,看时序图是DE高电平时数据有效,但是配置的时候要设置为低电平才可以。
下面的是V6开发板配套的7寸裸屏使用的source driver ic OTA7001
F429驱动TFT裸屏时LTDC
实际配置F429的工程时,将DE配置为低有效才是上面截图的效果,这个问题的确是有些奇葩了。
大家使用的时候也特别注意。

/* 配置信号极性 */
LTDC_InitStruct.LTDC_HSPolarity = LTDC_HSPolarity_AL; /* HSYNC 低电平有效 */
LTDC_InitStruct.LTDC_VSPolarity = LTDC_VSPolarity_AL; /* VSYNC 低电平有效 */
LTDC_InitStruct.LTDC_DEPolarity = LTDC_DEPolarity_AL; /* DE 低电平有效 */
LTDC_InitStruct.LTDC_PCPolarity = LTDC_PCPolarity_IPC;
================================================
上面黄色的波形是DE信号,下面的是行同步信号HSync
F429驱动TFT裸屏时LTDC
下面是将信号水平放缩了下
F429驱动TFT裸屏时LTDC
===========================================================
2. 时钟的配置
关于LTDC可以输出多大的时钟,在OTA7001手册上面有说明,通过函数
RCC_PLLSAIConfig(420, 2, 7);
RCC_LTDCCLKDivConfig(RCC_PLLSAIDivR_Div2); 配置即可,配置的大小是多少呢,简单举个例子
--------------------------------
上面的配置中PLLSAI_N = 420, PLLSAI_R = 7 , RCC_PLLSAIDivR = 2:
首先,输入时钟 PLLSAI_VCO Input = HSE_VALUE / PLL_M = 8M / 8 = 1MHz
输出时钟 PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAI_N = 1 * 400 = 420MHz
PLLLCDCLK = PLLSAI_VCO Output / PLLSAI_R = 420 / 7 = 60MHz
最后,LTDC 时钟 = PLLLCDCLK / RCC_PLLSAIDivR = 60/ 2 = 30MHz

F429驱动TFT裸屏时LTDC

===========================================================
3. 时序参数配置
时序参数的配置也比较容易,其实就是先看F429参考手册上面的公式说明,说是公式,其实就是简单的加减法。然后将OTA7001的参数带到这个公式就OK了。又因为手册一般都是给出了参数的最小值,典型值和最大值,大家可以根据实际情况做简单的调整即可。需要用到的参数
uint16_t Width, Height, HSYNC_W, VSYNC_W, HBP, HFP, VBP, VFP;

* Horizontal Synchronization (Hsync) 对应后面的变量HSYNC_W
* Horizontal Back Porch (HBP) 对应后面的变量HBP
* Active Width 对应后面的变量Width
* Horizontal Front Porch (HFP) 对应后面的变量HFP
*
* Vertical Synchronization (Vsync) 对应后面的变量VSYNC_W
* Vertical Back Porch (VBP) 对应后面的变量VBP
* Active Heigh 对应后面的变量Heigh
* Vertical Front Porch (VFP) 对应后面的变量VFP
----------------------------------------------
3.1 F429参考手册上面的公式
F429驱动TFT裸屏时LTDC

---------------------------------------------------
3.2 从OTA7001上面获取这些参数
F429驱动TFT裸屏时LTDC

---------------------------------------------------
3.3 配置如下参数
通过这些参数,直接给变量赋值,我们这里直接取典型值,如果大家实际测试的时候效果不是很好,怎么知道效果不好呢,最简单的方式就是可以在显示屏的边界显示一个方框,看看是否有错位。
F429驱动TFT裸屏时LTDC
---------------------------------------------------
3.4 参数设置好了,直接带公式并跟行同步,场同步和DE一起初始化

/* 配置LTDC的同步时序 */
LTDC_InitStruct.LTDC_HorizontalSync = HSYNC_W;
LTDC_InitStruct.LTDC_VerticalSync = VSYNC_W;
LTDC_InitStruct.LTDC_AccumulatedHBP = LTDC_InitStruct.LTDC_HorizontalSync + HBP;
LTDC_InitStruct.LTDC_AccumulatedVBP = LTDC_InitStruct.LTDC_VerticalSync + VBP;
LTDC_InitStruct.LTDC_AccumulatedActiveW = Width + LTDC_InitStruct.LTDC_AccumulatedHBP;
LTDC_InitStruct.LTDC_AccumulatedActiveH = Height + LTDC_InitStruct.LTDC_AccumulatedVBP;
LTDC_InitStruct.LTDC_TotalWidth = LTDC_InitStruct.LTDC_AccumulatedActiveW + HFP;
LTDC_InitStruct.LTDC_TotalHeigh = LTDC_InitStruct.LTDC_AccumulatedActiveH + VFP;

LTDC_Init(&LTDC_InitStruct);

 文章来源地址https://www.toymoban.com/news/detail-499536.html

 

 

 

 

 

 

 

到了这里,关于F429驱动TFT裸屏时LTDC的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32F429IGT6使用CubeMX配置SPI通信(W25Q256芯片)

    1、硬件电路 需要系统性的看一下W25Q256芯片手册  2、设置RCC,选择高速外部时钟HSE,时钟设置为180MHz 3、配置SPI 4、生成工程配置   5、读写流程图 5、相关代码 6、实验现象 没有问题!

    2024年02月12日
    浏览(47)
  • STM32F429移植microPython笔记

    https://micropython.org/download/官网 下载后放在linux中。 解压命令: 进入micropython目录下,进入mpy-cross目录,先编译MicroPython cross-compiler,在终端输入: 进入/ports/stm32/boards目录中,将目录STM32F429DISC拷贝一份为MY_STM32F429DISC。 然后进入MY_STM32F429DISC目录中修改mpconfigboard.h和stm32f4xx_ha

    2024年02月01日
    浏览(47)
  • 基于STM32CubeMX创建FreeRTOS—以STM32F429为例

    目录 1. 实验任务 2. 使用STM32CubeMX创建基础工程 2.1 使用STM32CubeMX创建项目 2.2 创建新项目 2.3 时钟设置 2.4 时钟配置树 2.5 修改时钟基准,打开串行调试 2.6 配置串口 2.7 配置状态指示灯 2.8 FreeRTOS配置 2.9 配置工程输出项 3. 代码编辑 3.1 printf重映射 3.1.1 使用ARMCC 5编译器时的print

    2024年01月22日
    浏览(44)
  • GD32F470 移植STM32F429工程 Keil调试笔记

    keil版本:5.25 安装 GigaDevice.GD32F4xx_DFP.3.0.4.pack Keil.STM32F4xx_DFP.2.15.0.pack 1、原项目为STM32F429 工程,切换到GD32F470 只需在 Options for Target\\\"“对话框的Device菜单中选中“GD32F470II”,重新编译即可,一般不会有编译错误。 2、将项目工程在切换回STM32F429,在 Options for Target”\\\"对话框的D

    2024年02月09日
    浏览(51)
  • 【STM32F429】HAL库的PWM中断,精确控制脉冲数,控制步进电机

    这两天在调步进电机,希望是使得步进电机每次都达到期望的高度。在查了一天的资料,发现大部分上传的资料都是使用CubeMX生成的,可复制性很高,但未免有失可读性,故上传我的心得经验。 本来原子哥的例程里有整合度很高的,已经封装好的精确控制步进电机前进距离的

    2024年02月08日
    浏览(53)
  • STM32F103xx / STM32F429VET6最小系统原理图

    STM32F429VET6核心板原理图 2023.12.09修改内容:打板后由于更换学习方向并未进行测试,所给原理图仅供参考,给出PDF下载链接,未设置积分和会员下载:https://download.csdn.net/download/m0_51294753/88611702。 一、前言 先前使用过的是STM32F1系列,只使用和绘制过STM32F103C8T6和STM32F103ZET6的板

    2023年04月24日
    浏览(44)
  • STM32F429 Discovery开发板应用:使用FreeRTOS队列+DMA双缓存实现串口数据接收

      参考帖子:https://blog.csdn.net/freedompoi/article/details/122350866 目前想要实现STM32F4自带的DMA双缓冲区,尝试过一版,结果不能预期,就使用了RxHalfCplt和RxCplt去实现DMA双缓冲区的效果。 现在有时间了,又重新实现STM32F4自带的DMA双缓冲区,作为参考。   MCU:STM32F429ZIT6 开发环境:

    2024年02月08日
    浏览(51)
  • STM32F429 Discovery开发板应用:实现SPI-SD Card文件写入(搭载FatFS文件系统)

    MCU:STM32F429ZIT6 开发环境:STM32CubeMX+MDK5   外购了一个SPI接口的SD Card模块,想要实现SD卡存储数据的功能。 首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。   此时,双击完后会关闭此界面,然后打开一个新界面。

    2024年02月08日
    浏览(59)
  • 21、stm32使用LTDC驱动LCD

    注:本文基于stm32使用FMC驱动SDRAM(IS42S32800G-6BLI)工程继续开发 本例使用安富莱的H743XIH板子驱动LTDC点亮7寸LCD 硬件接线:RGB888 1、LTDC配置 注意此引脚应于上面的硬件接线图一致 2、配置DMA2D 3、背光引脚和触摸引脚 4、时钟配置 5、定时器配置 定时器6用来做精确延时 TIM7配置成

    2024年02月13日
    浏览(35)
  • STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT LCD128X160 ST7735S屏幕

    📌相关篇《【STM32CubeIDE】STM32F103硬件SPI驱动1.8寸TFT LCD128X160 ST7735S屏幕》 ✨驱动效果就不做演示了,和上面的相关篇一样,主要是为了方便使用MDK Keil开发的使用。所以花了点时间从上面的工程当中做了分离,重新使用STM32CubeMX配置一个方便二次开发移植使用和配置的工程。本

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包