一、硬件概述
1.1、硬件组成:STM32F407ZGT6+OLED显示屏;
1.2、管脚接线对应关系表
MCU管脚 | OLED管脚 | 备注 |
---|---|---|
3.3V | VCC | 电源 |
GND | GND | 接地 |
PA1 | DC | 数据/命令 |
PA2 | RES | 复位 |
PA3 | CS | 片选 |
PA5 | D0 | 时钟线 |
PA7 | D1 | 数据线 |
二、工程建立及OLED驱动移植
2.1、工程建立
2.1.1、本工程使用CubeMX V4.25.0进行创建;
MCU管脚定义如下图所示:
2.1.2、时钟配置如下图所示:
2.1.3、工程设置及生成工程
2.2、驱动添加
2.2.1、将OLED驱动拷贝至工程当中;
在生成的工程中添加OLED文件夹,如下图所示:
OLED文件夹包括内容如下图所示:
2.2.2、使用Keil V5.24打开工程,在工程中添加OLED分组,并添加驱动文件;
添加头文件路径:
2.2.3、主程序中添加头文件,并调用相关函数
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f4xx_hal.h"
#include "usart.h"
#include "gpio.h"
/* USER CODE BEGIN Includes */
#include "oled.h"
/* USER CODE END Includes */
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_USART1_UART_Init();
/* USER CODE BEGIN 2 */
OLED_Init();
OLED_Display_On();
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
OLED_ShowString(,, "STM32F407_OLED");
OLED_ShowString(,, "SKYPHY");
OLED_ShowString(,, "Wang Haipeng");
HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);
HAL_Delay();
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
2.3、程序烧录并运行
三、工程源码
https://download.csdn.net/download/hpw99/10642667