当前位置: 首页 > news >正文

【STM32H743IIT6 系列】通过 LTDC接口驱动的 TFTLCD(RGB屏)显示

前言

SDRAM 配置

在开始此篇文章之前,首先要把 SDRAM 配置好,可以看我的上一篇文章:

【STM32H743IIT6 系列】将外部SDRAM作为内部RAM使用的超简单方法

没有将 SDRAM 作为内部 RAM 使用的朋友可以选择性看上面这篇文章。

屏幕

这里我使用的是正点原子的 800 * 480的 4.3寸 RGBLCD 屏幕,如下图所示:

98ca552929a8e47fb30dc98c01e27b74

CubeMX配置

引脚配置

首先要注意的就是 MCU 引脚对应屏幕接口的 LTDC 引脚是否正确,我使用的是反客的 H743,下面是引脚对应图:
(还有 LTDC_BL 背光引脚需要我们自己定义,设置为高电平开漏输出上拉模式即可)
image

LTDC 配置

为了节省资源,我们使用的是 RGB565 模式:

image

Parameter Settings

image

Layer Settings

image

NVIC Settings

image

测试代码

点击查看代码
/* USER CODE BEGIN 0 */uint16_t* fb_addr = (uint16_t*)((uint32_t)0xC0000000);
void LTDC_LCD_Fill(uint16_t* fb, uint16_t color, uint32_t length)
{uint16_t* tmp_fb = fb;for (uint32_t i = 0; i < length; i++) {*(tmp_fb + i) = color;}
}/* USER CODE END 0 *//*** @brief  The application entry point.* @retval int*/
int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MPU Configuration--------------------------------------------------------*/MPU_Config();/* Enable the CPU Cache *//* Enable I-Cache---------------------------------------------------------*/SCB_EnableICache();/* Enable D-Cache---------------------------------------------------------*/SCB_EnableDCache();/* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();MX_FMC_Init();MX_LTDC_Init();/* USER CODE BEGIN 2 */Set_Current_USART(USART1_IDX);printf("SDRAM 初始化通过!\r\n");/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){SCB_CleanInvalidateDCache();while (!(LTDC->CDSR & LTDC_CDSR_VSYNCS));LTDC_LCD_Fill(fb_addr, (uint16_t)0xF800, (uint32_t)480 * 800 * 2);HAL_Delay(100);SCB_CleanInvalidateDCache();while (!(LTDC->CDSR & LTDC_CDSR_VSYNCS));LTDC_LCD_Fill(fb_addr, (uint16_t)0x07E0, (uint32_t)480 * 800 * 2);HAL_Delay(100);SCB_CleanInvalidateDCache();while (!(LTDC->CDSR & LTDC_CDSR_VSYNCS));LTDC_LCD_Fill(fb_addr, (uint16_t)0x001F, (uint32_t)480 * 800 * 2);HAL_Delay(100);SCB_CleanInvalidateDCache();while (!(LTDC->CDSR & LTDC_CDSR_VSYNCS));LTDC_LCD_Fill(fb_addr, (uint16_t)0xFFFF, (uint32_t)480 * 800 * 2);HAL_Delay(100);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

效果

b99894a6738494a045e8358f82e10cff

8d3b33b6d7dd19d9a377fa1bf3d4aa27

http://www.jsqmd.com/news/20233/

相关文章:

  • 10.22 —— 2024icpc沈阳D,E,B,M
  • AGV 系统的内部物流与装配智能化方案设计:应用场景与核心优势详解 - 实践
  • 报表过滤框设置默认组织提示死循环
  • UiPath License
  • 一些变换
  • vue项目浏览器内存不断增加
  • 基于伪距差分定位技术实现方案
  • prometheus服务的客户端
  • AI 辅助开发工具
  • 网安人必看!2025年最硬核的20+变现路径,学生党也能月入4位数。 - 详解
  • SightAI 企业级实战:构建高可用、低成本的 AI 应用架构 - sight
  • 应用安全 --- 安卓加固 之 软件安装白名单
  • 应用安全 --- 安卓加固 之 软件安装白名单
  • Go开发者必备:5款提升代码质量的顶级Linter工具
  • 函数作用域在解决 JavaScript 自定义元素类跨环境兼容问题中的应用
  • React-router v6学生管理系统笔记 - 教程
  • NOIP模拟赛R8
  • 深入解析:本机网速会影响到云手机的运行吗
  • 交互的脉络:小程序事件平台详解
  • 基于MATLAB的Copula函数实现
  • 2025年国产助听器品牌推荐榜:聚焦专业适配,杭州爱听科技引领国产助听新体验​
  • 2025 年PPR家装管厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 钡铼技术预测:未来工业AI发展的七大趋势
  • 2025 年废气处理设备厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年集成房屋生产厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年东莞石排到南通物流专线公司最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年北京品牌设计公司最新推荐榜,聚焦企业专业能力与服务价值深度剖析
  • 分类概念 - -一叶知秋
  • 2025 年连接器厂家最新推荐榜单:聚焦电子 / Type-C / 板对板等品类,精选领军企业助力下游企业精准选型
  • 2025 年干燥机厂家最新推荐排行榜:聚焦闪蒸 / 气流 / 沸腾 / 闭路循环等多类型设备,精选优质企业深度解析