一、HAL库配置
1、打开硬件spi
2、配置RES、DC、CS三个引脚
3、引脚连接:
VCC——————3.3v电源
D0——————PA5(SCK)——时钟线
D1——————PA7(MOSI)——数据线
RES——————PC1——复位线
DC——————PC2——数据/命令控制线
CS——————PC3——片选线
二、江科大OLED文件移植
修改OLED.c文件
1、头文件改为hal库头文件
#include "stm32f4xx_hal.h"
2、引脚配置改成hal库的
/*引脚配置*/
#define OLED_W_D0(x) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, (GPIO_PinState)(x))
#define OLED_W_D1(x) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, (GPIO_PinState)(x))
#define OLED_W_RES(x) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, (GPIO_PinState)(x))
#define OLED_W_DC(x) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, (GPIO_PinState)(x))
#define OLED_W_CS(x) HAL_GPIO_WritePin(GPIOC, GPIO_PIN_3, (GPIO_PinState)(x))
3、初始化修改
/*引脚初始化*/
void OLED_SPI_Init(void)
{
__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_InitTypeDef GPIO_Initstructure;
GPIO_Initstructure.Mode = GPIO_MODE_OUTPUT_OD;
GPIO_Initstructure.Pin = GPIO_PIN_5 | GPIO_PIN_7;
GPIO_Initstructure.Speed = GPIO_SPEED_HIGH;
HAL_GPIO_Init(GPIOA,&GPIO_Initstructure);
OLED_W_D0(1);
OLED_W_D1(1);
OLED_W_RES(1);
OLED_W_DC(1);
OLED_W_CS(1);
}
5、最后main函数调用即可
void OLED_work(void)
{
OLED_ShowString(2,1,"Hello World!");
}
三、效果演示
ps:江科大文件可到b站寻找