基于stm32的h5的spi屏幕调试

本文目标:基于stm32的基础实验

按照本文的描述,应该可以跑通实验并举一反三。

先决条件:装有编译和集成的开发环境,比如:Keil uVision5、STM32CubeMX

使用外设:GPIO、SPI

前言

跟着学习项目的一些笔记记录。

实验目的

基于stm32的h5系列新建一个能使用的工程,进行spi屏幕的点亮。

原理图部分

在这里插入图片描述

所涉及引脚列表如下:

在这里插入图片描述

厂商芯片部分资料

找到屏幕的厂家提供的资料信息,查看对应的芯片手册,部分内容如下:

在这里插入图片描述

去看一下4线的spi是需要如何进行配置的,

在这里插入图片描述

时钟的时序频率:

在这里插入图片描述

最小的时间,都可以达到1/7+7ns = 71.4M,所以我们配置时钟时,可以配置跟这个数相近。

写操作的时序如下:

在这里插入图片描述

读操作的时序如下:

在这里插入图片描述

搭建工程

启动原先的工程,进入STM32CubeMX 的配置,根据对应的引脚进行配置SPI

spi配置

在这里插入图片描述

io配置

配置一下LCD屏幕的其中引脚,同时把SPI的io速度提高一些,如下:

在这里插入图片描述

时钟配置界面

配置时钟,调高 CPU 频率:

在这里插入图片描述

工程选项卡

在这里插入图片描述

指定代码生成方法,如下

在这里插入图片描述

使用keil打开工程,编译工程,一切都是ok

在这里插入图片描述

添加驱动

代码成功生成,添加厂家提供的驱动,如下:

在这里插入图片描述

添加头文件路径

在这里插入图片描述

添加显示的汉字

使用字模软件生成一些中文,用于屏幕展示,把生成的文字添加一下所索引,然后拷贝到对应的数组中。

在这里插入图片描述

在这里插入图片描述

添加显示的图片

在这里插入图片描述

使用相应的代码来显示内容

在main.c进行编程,简简单单的下写下一些LCD屏幕的代码,测试一下。

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* 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_SPI2_Init();
  /* USER CODE BEGIN 2 */

  LCD_Init(1); /* 初始化LCD为横屏 */
  Draw_Init(); /* 初始化绘制系统 */
  Draw_Clear(0); /* 清屏 */
  
  Draw_String(0, 0, "www.stm32.com\r\nwww.keil.com", 0x0000ff00, 0); /* 绘制字符串 */
  
  Draw_ChineseFont(0, 40, "欢迎关注独处东汉", 0xff0000, 0); /* 绘制汉字 */
  extern const unsigned char gImage_test[43208]; 
  Draw_Picture(0, 100, gImage_test); /* 绘制图片 */
  Draw_Circle(60, 250, 50, 0xffffff); /* 画圆 */
  Draw_Rectangle(180, 200, 280, 300, 0xffffff); /* 画矩形 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
    HAL_Delay(500);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

刷入板子,LCD上的屏幕能正常点亮,同时有一些api函数可以直接调用,可以正常显示汉字,显示图片等信息

实验现象

在这里插入图片描述

本文中使用的测试工程

https://download.csdn.net/download/weixin_44317448/89067623

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐