使用ssd1306驱动,来驱动0.96寸中景园oled屏幕

硬件

nucleo-f411RE, 中景园oled屏幕(0.96寸,七线)

驱动文件地址

stm32-ssd1306
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第1张图片

驱动文件说明

使用的库: H A L HAL HAL
支持的通信协议: S P I / I I C SPI/IIC SPI/IIC
文件结构:
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第2张图片其中,驱动文件在 s s d 1306 ssd1306 ssd1306文件中

使用步骤

  1. 使用stm32cubemx进行初始化配置,打开对应的接口( S P I / I I C SPI/IIC SPI/IIC),这里以 S P I SPI SPI为例:
    使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第3张图片使用的是 S P I 1 SPI1 SPI1,其配置如下:
    使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第4张图片
    其中关于 N S S NSS NSS使用软件配置,配置完之后,相当于配置完成了 D 0 , D 1 D0,D1 D0,D1引脚,分别对应于时钟线和 M O S I MOSI MOSI
引脚名称 作用
GND 电源地
VCC 电源正(3-5.5v)
D0 SPI/IIC中的时钟管脚
D1 SPI/IIC中的数据管脚
RES 复位引脚(低电平有效)
DC 命令/数据控制管脚
CS 模块选中管脚(相当于SPI中的NSS)

处理电源,地和 S P I SPI SPI通信的时候使用的 D 0 , D 1 D0,D1 D0,D1,还剩下三个引脚需要配置。
此次选择的引脚如下所示:

引脚名称 stm32管脚
D0 PB3
D1 PA7
RES PC6
DC PB8
CS PB9

其中的具体配置如下:
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第5张图片注意其中的命名:

引脚名称 User Label
DC OLED_DC
CS OLED_CS
RES OLED_Res

如果在这里保持这种命名规范的话,在驱动的后续使用中,就不需要进行修改源驱动文件,即和源驱动代码文件中的命名保持一致
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第6张图片
再进行时钟配置,其中此开发板中的外部晶振为 8 M h z 8Mhz 8Mhz,所以配置如下:
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第7张图片
最后在 C o d e G e n e r a t o r Code Generator CodeGenerator中选择此项,生成代码
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第8张图片
2. 将驱动文件拷贝到Drivers文件夹下(不一定非要在此文件夹下,只要和后续的路径选择一直就行)
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第9张图片
3. 将 s s d 1306 _ c o n f _ t e m p l a t e . h ssd1306\_conf\_template.h ssd1306_conf_template.h重命名为 s s d 1306 _ c o n f . h ssd1306\_conf.h ssd1306_conf.h
4. 将工程打开,将 s s d 1306 ssd1306 ssd1306加入到头文件搜索路径中
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第10张图片

  1. 将对应驱动的源文件,添加入工程
    使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第11张图片
  2. 修改 s s d 1306 _ c o n f . h ssd1306\_conf.h ssd1306_conf.h配置文件
需要配置信息 配置内容
单片机型号 STM32F4(取消对应的注释即可)
驱动协议 SSD1306_USE_SPI(取消对应的注释即可)
SPI端口配置 将对应的宏进行定义

具体的配置如下:
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第12张图片

  1. 配置完成,可以在工程中使用对应的接口函数
    使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第13张图片

实物效果图:
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第14张图片
使用ssd1306驱动,来驱动0.96寸中景园oled屏幕_第15张图片
工程模板下载地址

你可能感兴趣的:(STM32,单片机,stm32,嵌入式硬件)