一、OLED驱动模块导入
1. 器件接线
将有机发光二极管OLED
显示屏接入STM32
,建议独立供电,不要靠主板供能。在以后的篇章中,OLED
显示屏默认作为主控装置ST-Link--STM32--MB102
用于程序调试的外设,接入端口固定。
器件 | 端口/电源 |
---|---|
3.3/VCC | + |
GND | - |
OLED-SCL | B8 |
OLED-SDA | B9 |
Buzzer-I/O | B12 |
Sensor-DO | B13 |
2. 模块添加
OLED
驱动模块由Resource\程序源码\STM32Project-有注释版\1-4 OLED驱动函数模块\4针脚I2C版本\
目录下的三个文件OLED.c
,OLED.h
,OLED_Font.h
组成,将其移动到工程目录的Hardware
下,并在Keil5
中添加。
若要更改接入端口,请在OLED.c
的引脚配置和引脚初始化部分对引脚参数做对应修改。
二、模块函数
1. 坐标分区
0.96
寸OLED
显示屏的字符显示分为4
行16
列,最多显示64
个字符。
2. 参数含义
Line
:行坐标Column
:列坐标Char/String/Number
:显示的字符/字符串/数字Length
:显示长度限制
3. 函数功能
OLED_Init(void)
:OLED
初始化OLED_Clear(void)
:清屏OLED_ShowChar(Line, Column, Char)
:在指定坐标处,打印字符OLED_ShowString(Line, Column, String)
:从指定起始坐标开始,打印字符串OLED_ShowNum(Line, Column, Number, Length)
:从指定起始坐标开始,打印十进制正数,直至到达限制长度OLED_ShowSignedNum(Line, Column, Number, Length)
:从指定起始坐标开始,打印十进制带符号数,直至到达限制长度OLED_ShowHexNum(Line, Column, Number, Length)
:从指定起始坐标开始,打印十六进制正数,直至到达限制长度OLED_ShowBinNum(Line, Column, Number, Length)
:从指定起始坐标开始,打印二进制正数,直至到达限制长度
4. 调用实践
#include "stm32f10x.h" // 器件模块
#include "OLED.h" // OLED模块
int main(void)
{
// OLED初始化
OLED_Init();
// 字符
OLED_ShowChar(1, 1, 'A');
// 字符串
OLED_ShowString(1, 3, "HelloWorld!");
// 数字:长度超限,舍去高位;长度不足,高位补零
OLED_ShowNum(2, 1, 123, 4);
OLED_ShowNum(2, 6, 123, 2);
OLED_ShowSignedNum(2, 9, -66, 2);
OLED_ShowSignedNum(2, 13, 66, 2); // 默认带正号
OLED_ShowHexNum(3, 1, 0xAA55, 4); // 十六进制
OLED_ShowBinNum(4, 1, 0xAA55, 16); // 二进制:C语言不支持二进制
}