硬件SPI驱动TFT液晶屏

0
回复
89
查看
[ 复制链接 ]

38

主题

1

回帖

130

积分

管理员

积分
130
2025-7-8 09:18:28 显示全部楼层 阅读模式
硬件SPI驱动TFT液晶屏(1.44寸)
🔧 分步操作指南
步骤1:CubeMX配置
  • 启用SPI1(全双工主模式)
  • 引脚分配:
    • PA5 → SPI1_SCK
    • PA7 → SPI1_MOSI
    • PA4 → SPI1_CS(自定义GPIO控制)
    • PB0 → DC(数据/命令控制线)


步骤2:初始化序列
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





// 发送命令函数(DC线拉低)void TFT_SendCmd(uint8_t cmd) {    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET); // DC=0    HAL_SPI_Transmit(&hspi1, &cmd, 1, 100);}// 发送数据函数(DC线拉高)void TFT_SendData(uint8_t dat) {    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET); // DC=1    HAL_SPI_Transmit(&hspi1, &dat, 1, 100);}
步骤3:显示测试
[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





TFT_SendCmd(0x2A); // 列地址设置TFT_SendData(0x00); TFT_SendData(0x00); // X起始TFT_SendData(0x00); TFT_SendData(0x7F); // X结束(128列)uint16_t color = 0xF800; // 红色for(int i=0; i<128*128; i++) {    TFT_SendData(color >> 8);  // 高字节    TFT_SendData(color & 0xFF);// 低字节}
⚠️ 高频问题
现象
可能原因
解决方案

屏幕全白背光未开启检查BL引脚接3.3V
显示错位扫描方向设置错误发送0x36命令调整


收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则