STM32使用FSMC接口控制LCD

STM32使用FSMC接口控制LCD

硬件连接

在这里插入图片描述

上图解释了STM32F407控制LCD方式

在这里插入图片描述
在这里插入图片描述

LCD_BL是LCD的背光控制引脚,用于控制液晶显示屏的背光亮度。

硬件电路使用的是野火霸天虎STM32F407

引脚定义

在这里插入图片描述

上图显示了STM32引脚与NT35510引脚的对应关系;这些信号线即 8080 通讯接口,带 X 的表示低电平有效,STM32 通过该接口与 NT35510 芯片进行通讯,实现对液晶屏的控制。通讯的内容主要包括命令和显存数据,显存数据即各个像素点的 RGB565 内容;命令是指对 NT35510 的控制指令,MCU 可通过 8080 接口发送命令编码控制NT35510 的工作方式,例如复位指令、设置光标指令、睡眠模式指令等等

时序图

在这里插入图片描述

因为是STM32控制LCD显示,所以STM32一直执行的是对NT35510 的写命令。
8080 接口写命令时序;由图可知,写命令时序由片选信号 CSX 拉低开始,对数据/命令选择信号线 D/CX 也置低电平表示写入的是命令地址 (可理解为命令编码,如软件复位命令:0x01),以写信号 WRX 为低,读信号 RDX 为高表示数据传输方向为写入,同时,在数据线 D[23:0](或 D[15:0]) 输出命令地址,在第二个传输阶段传送的是命令的参数,所以 D/CX 要置高电平,表示写入的是命令数据,命令数据是某些指令带有的参数,如复位指令编码为 0x01,它后面可以带一个参数,该参数表示多少秒后复位 (实际的复位命令不含参数,此处只是为了讲解指令编码与参数的区别)。
当需要把像素数据写入 GRAM 时,过程很类似,把片选信号 CSX 拉低后,再把数据/命令选择信号线 D/CX 置为高电平,这时由 D[23:0] 传输的数据则会被 NT35510 保存至它的 GRAM 中。

CubeMX配置

STM32F407CubeMX配置可以参考这篇博客: TFT_LCD液晶显示

  • printf 重定向
#include <stdio.h>
int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
  return ch;
}

int fgetc(FILE *f)
{
  uint8_t ch = 0;
  HAL_UART_Receive(&huart1, &ch, 1, 0xffff);
  return ch;
}

STM32F103CubeMX配置可以参考这篇博客: TFT-LCD屏触摸

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值