stm32HAL库ssd1306驱动(oled驱动芯片),spi、iic通信通用驱动

stm32HAL库ssd1306驱动(oled驱动芯片),spi、iic通信通用驱动

OLED

这里OLED分辨率是128x64;即OLED显示是128行x64列;采用ssd1306为驱动芯片。
一般此款oled有两种通信接口:spi和iic。

通信协议


电路连接

spi

GND:电源地
VCC:2.2V~5.5V
SCL(D0):CLK 时钟(高电平2.2V~5.5V)
SDA(D1):MOSI 数据(高电平2.2V~5.5V)
RST:复位(高电平2.2V~5.5V)
D/C:数据/命令(高电平2.2V~5.5V)

iic

IIC 接口:
GND: 电源地
VCC: 2.2V~5.5V
SCL: CLK 时钟(高电平2.2V~5.5V)
SDA: MOSI 数据(高电平2.2V~5.5V)

废话不多说直接上代码(下载链接在最底部)


  1. 打开ssd1306.h
    按照自己的芯片型号在其头部定义相应的关键字
    例如:用的是STM32F1,配置SPI1,里面写的很清楚。
    则在

    #include <stddef.h>

    下面添加:

    #define STM32F1
    #define SSD1306_USE_SPI
  2. 打开main.c
    在while循环里添加如下代码

       while (1)
    {
       ssd1306_TestAll();
    
     /* USER CODE END WHILE */
    
     /* USER CODE BEGIN 3 */
    }
  3. 烧录
    编译->调试->全速运行可以在oled屏幕看到以下画面

图1 图2

驱动下载:Github

注意ssd1306文件夹下的文件才是驱动

(~正在更新)


文章作者: evrStr
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 evrStr !
 上一篇
orangePi-lite2-初使用教程 orangePi-lite2-初使用教程
入手了一块orangePi lite2,就分享下如何使用这块板子吧! 如何使用呢?看下面吧! 1. 所用到的设备 orangePi lite2 ttl转串口 (ch340等,或者你有显示屏直接用hdmi线插显示屏) 杜邦线 5v2a电源 m
2019-08-20
下一篇 
从今天开始写博客啦! 从今天开始写博客啦!
今天开始写博客啦!主要涉及单片机、Linux等方面的技术学校:某无名二本院校专业:自动化大三老油条 我对单片机及linux这方面有一定了解,遂开始写博客,更新日常。当然最重要的就是分享技术以及帮大家踩坑。😄除了日常这个分类比较水外,其余
2019-08-15