sesefadou 发表于 2025-2-26 20:51

硬件SPI的ST7789驱动

1、cubemx配置硬件SPI1、STM32F103C8T6(自设计)1、cubemx一、cubemx配置硬件SPI及LCD相关引脚  第一步仍然是时钟配置,由于板子上设计没有预留外部晶振,我使用的是内部RC振荡器,内部RC振荡器只能配置到64MHZ,如下,如果你使用的是外部晶振,最大到72MHZhttps://api.fanyedu.com/uploads/image/61/dca7503cb55677765258ffff21f12f.jpg1.3 LCD相关引脚配置https://api.fanyedu.com/uploads/image/4b/cfb325ea9cb812879dd12cd4c7f935.jpg  小伙伴们有没有遇到过配置完发现不能仿真,这里需要设置一下,根据自己的仿真器接口进行配置,是SWD模式还是JTAG模式https://api.fanyedu.com/uploads/image/8a/ee9efb131dbe090cc7210cb7bab0b2.jpg生成工程配置,配置完之后,直接点击生成即可,注意工程路径不要有中文,记得以前可以有,不知道什么时候有的臭毛病...只能按照做了https://api.fanyedu.com/uploads/image/34/b993b5e4b92c4425c081db3976c71a.jpghttps://api.fanyedu.com/uploads/image/6b/c0c6bd74f9d7081b79dd17ec6cb944.jpg  先定义LCD相关引脚,CS、RST、DC  定义用到的几个基本函数LCD行列设置LCD初始化代码,这部分主要是参考网上已经完成的,相关配置可以在手册具体查看常用颜色定义,为RGB565格式,其他颜色可以自己改变配比LCD清屏,可以填充指定的颜色//========================================================
//LCD清屏color:要写入的颜色
//先关显示,等所有的数据写入到RAM后,再打开显示
//========================================================
void lcd_clear(uint16_t color)
{

    uint16_t i, j;
    LCD_command_write(0x2A);
    LCD_data_write(0);
    LCD_data_write(0);
    LCD_data_write(0);
    LCD_data_write(240);
    LCD_command_write(0X2B);
    LCD_data_write(0);
    LCD_data_write(0);
    LCD_data_write(0X01);
    LCD_data_write(0X40);

    LCD_command_write(0X2C);

    for (i = 0; i < 240; i)
    {
      for (j = 0; j < 320; j)
      {
            LCD_data_write(color >> 8);
            LCD_data_write(color);
      }
    }
    lcd_display_on(); /* 开LCD显示 */
}
页: [1]
查看完整版本: 硬件SPI的ST7789驱动