(一)简介

我们学习STM32最常用的屏幕之一就是0.96寸的OLED,一方面是因为它的价格很便宜,大概6块钱一个,另一方面是它很常用而且易用,在网上已经有非常成熟的库,我们如果只需要学习它的应用的话,只需要理解库的函数怎么用就可以了。在了解库函数后,可以自己设计UI或者自己设计各种好看的文字和图片

模块资料
工作电压:3.3V
工作电流:9MA
模块尺寸:27.3 x 27.8 MM
像素大小:128(H) x 64(V)RGB
驱动芯片:SSD1306
通信协议:IIC
管脚数量:4 Pin(2.54mm间距排针)

模块接线
cc21a22b9ecc2ab84060f08d07c752e.png
使用stm32上的硬件IIC,SCL1和SDA1
GND----GND
VCC----3V3
SCL----B08
SDA----B09


(二)讲解
我会将库文件放在工程模板上
image.png

我们打开OLED.h可以查看到库函数
image.png

OLED_Init:初始化OLED屏幕
OLED_Clear:清除OLED屏幕
OLED_ShowChar:显示一个字符
OLED_ShowString:显示字符串
OLED_ShowNum:显示数字(十进制,正数)
OLED_ShowSignedNum:显示数字(带符号)
OLED_ShowHexNum:显示数字(十六进制,正数)
OLED_ShowBinNum:显示数字(二进制,正数)
countDigits:计算整数的位数

注意:
这个库函数,定义的屏幕为
4行,16列

①初始化OLED屏幕
在使用之前,必须初始化
  1. OLED_Init();                //OLED初始化

②在1行1列显示字符A
  1. OLED_ShowChar(1, 1, 'A');                                //1行1列显示字符A

③在2行1列显示数字12345,数字长度5位
  1. OLED_ShowNum(2, 1, 12345, 5);                        //2行1列显示十进制数字12345,长度为5

④在2行7列显示带有“-”号的数字,长度为2
  1. OLED_ShowSignedNum(2, 7, -66, 2);                //2行7列显示有符号十进制数字-66,长度为2

⑤计算整数的位数
当我们有一个变量a时,如果a不是一个固定的变量,长度可能会发生改变
那么我们可以在位数部分调用countDigits函数,自动算出当前a的位数
  1. OLED_ShowNum(2, 1, a, countDigits(a));


(三)程序演示
d123b1ee5183f34bec7e409561e8121.jpg

7e3f99be6ae77e13b951 -small-original.gif