我们学习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间距排针)
模块接线
使用stm32上的硬件IIC,SCL1和SDA1
GND----GND
VCC----3V3
SCL----B08
SDA----B09
(二)讲解
我会将库文件放在工程模板上
我们打开OLED.h可以查看到库函数
OLED_Init:初始化OLED屏幕
OLED_Clear:清除OLED屏幕
OLED_ShowChar:显示一个字符
OLED_ShowString:显示字符串
OLED_ShowNum:显示数字(十进制,正数)
OLED_ShowSignedNum:显示数字(带符号)
OLED_ShowHexNum:显示数字(十六进制,正数)
OLED_ShowBinNum:显示数字(二进制,正数)
countDigits:计算整数的位数
注意:
这个库函数,定义的屏幕为
4行,16列
①初始化OLED屏幕
在使用之前,必须初始化
- OLED_Init(); //OLED初始化
②在1行1列显示字符A
- OLED_ShowChar(1, 1, 'A'); //1行1列显示字符A
③在2行1列显示数字12345,数字长度5位
- OLED_ShowNum(2, 1, 12345, 5); //2行1列显示十进制数字12345,长度为5
④在2行7列显示带有“-”号的数字,长度为2
- OLED_ShowSignedNum(2, 7, -66, 2); //2行7列显示有符号十进制数字-66,长度为2
⑤计算整数的位数
当我们有一个变量a时,如果a不是一个固定的变量,长度可能会发生改变
那么我们可以在位数部分调用countDigits函数,自动算出当前a的位数
- OLED_ShowNum(2, 1, a, countDigits(a));
(三)程序演示