目录
- 参考
- 硬件
- 引脚与接线
- 点亮屏幕
- CubeMX 配置
- OLED 驱动程序
- 代码
参考
- 基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)
- 0.96 oled HAL库驱动 SPI STM32
- SPI驱动0.96/1.3寸 OLED屏幕,易修改为DMA控制
- STM32驱动0.96寸OLED液晶屏(12864液晶屏)
硬件
中景园1.3OLED
引脚与接线
参考STM32驱动0.96寸OLED液晶屏(12864液晶屏)
- GND — 接地端口
- VCC — 接3.3V电源端口
- SCL — CLK时钟信号端口
- SDA — MOSI数据端口
- RST — 复位端口
- D/C — 数据/命令选择引脚
- CS — 片选引脚(低电平有效,也就是所需要接低电平,我实际试验过不接该引脚也是可以正常使用的)
- MOSI: main out, sub in(master out, slave in), Serial data from main, most-significant bit first
- MISO: main in, sub out(master in, slave out), Serial data from sub, most-significant bit first
根据使用的板子引出的引脚,选择相近的 IO 方便接线,
RES - B15
DC - B14
CS - E15
点亮屏幕
CubeMX 配置
我板子的 SPI-1的引脚没有全部接出来,所以我使用 SPI-2,
GPIO 配置
时钟
OLED 驱动程序
参考0.96 oled HAL库驱动 SPI STM32,在其文末提供项目文件下载地址:Gitee liankafohali/Oled-0.96-Hal-Drive。
- 把 oled.c 拷贝到 自己工程 \Core\Src 下面
- 其余三个 .h 文件拷贝到 \Core\Inc 下面
- 在 Keil 中将 “oled.c”添加进 group 中。
- 这么麻烦事因为我还不会怎么一次把文件夹添加进项目,并且在 CubeMX 中更新设置后任然保留添加进来的文件夹。
代码
在 oled.h 文件中设置引脚
在 main.c 中
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "oled.h"
#include "bmp.h"
/* USER CODE END Includes */
在 while 循环前