STM32——OLED显示屏(五)

Show:显示 String:字符串 Signed:有符号的

一、简介

•OLED(Organic Light Emitting Diode):有机发光二极管

•OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点

•0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块

供电:3~5.5V,通信协议:I2C/SPI,分辨率:128*64

二、电路图

4 针脚 I2C 接口 OLED 模块
  • I2C 接口:仅需 2 根通信线(SCL/SDA)即可驱动 OLED,大幅节省开发板的 GPIO 资源。
  • 3.3V 电平:模块本身是 3.3V 器件,与 STM32 等 3.3V MCU 直接兼容,无需额外电平转换。
  • 小型化:4 针脚设计的 OLED 模块通常尺寸较小(如 0.96 寸),适合嵌入式设备的紧凑布局。
7 针脚 SPI 接口 OLED 模块
  • SPI 高速传输:SPI 的通信速率远高于 I2C,适合需要快速刷新画面的场景(如动态图形显示)。
  • 硬件控制更精细 :通过RESDCCS引脚可精准控制模块的复位、数据 / 指令切换和片选,兼容性更强。
  • 多设备支持CS引脚可让多个 SPI 设备共用一组总线,适合复杂的多外设系统。

三、调用库函数

|---------------------------------------|------------|
| 函数 | 作用 |
| OLED_Init(); | 初始化 |
| OLED_Clear(); | 清屏 |
| OLED_ShowChar(1, 1, 'A'); | 显示一个字符 |
| OLED_ShowString(1, 3, "HelloWorld!"); | 显示字符串 |
| OLED_ShowNum(2, 1, 12345, 5); | 显示十进制数字 |
| OLED_ShowSignedNum(2, 7, -66, 2); | 显示有符号十进制数字 |
| OLED_ShowHexNum(3, 1, 0xAA55, 4); | 显示十六进制数字 |
| OLED_ShowBinNum(4, 1, 0xAA55, 16); | 显示二进制数字 |

建立工程

复制按键控制LED的工程,改名为OLED显示屏,将"STM32入门教程资料\程序源码\STM32Project-有注释版\1-4 OLED驱动函数模块\4针脚I2C版本"中的文件复制到工程中的Hardware文件夹里。在Keil中将这三个文件添加到Hardware分组中。

打开OLED.c文件,根据需要选择引脚,将引脚设置更改为相应引脚。

接线图
调用

在main文件中调用OLED.h文件

在main中调用

OLED_Init();

OLED_ShowChar(1,1,'A');

OLED_ShowString(1,3,"Helloworld!");

OLED_ShowNum(2,1,12345,5);

OLED_ShowSignedNum(2,7,-12345,5);

OLED_ShowHexNum(3,1,0xAA55,4);

OLED_ShowBinNum(4,1,0xAA55,16);

在main中调用

OLED_Init();

OLED_ShowChar(1,1,'A');

OLED_ShowString(1,3,"Helloworld!");

OLED_ShowNum(2,1,12345,5);

OLED_ShowSignedNum(2,7,-12345,5);

OLED_ShowHexNum(3,1,0xAA55,4);

OLED_ShowBinNum(4,1,0xAA55,16);

OLED_Clear();

相关推荐
Deitymoon11 小时前
STM32——串口中断接收
stm32·单片机·嵌入式硬件
charlie11451419112 小时前
嵌入式C++实践开发第21篇(单片机实践):按钮输入 —— 硬件原理、消抖与HAL API
开发语言·c++·单片机
一起搞IT吧12 小时前
Android性能系列专题理论之十一:block IO问题分析思路
android·嵌入式硬件·智能手机·性能优化
余生皆假期-12 小时前
YuanHub 源码分析【一】FlashDB 初始化与项目应用
笔记·单片机·嵌入式硬件
Deitymoon13 小时前
STM32——串口通信发送数据
stm32·单片机·嵌入式硬件
玩转单片机与嵌入式13 小时前
嵌入式AI场景:哪些应用场景不适合将AI模型部署到单片机(MCU)中?
人工智能·单片机·嵌入式硬件
czwxkn14 小时前
8STM32(stdl)低功耗模式
stm32·单片机·嵌入式硬件
czwxkn14 小时前
9STM32(stdl)看门狗
stm32·单片机·嵌入式硬件
coward9114 小时前
Linux 内核 KGDB 以及内核驱动单串口调试笔记:telnet + agent-proxy + gdb-multiarch 实践
linux·单片机·嵌入式硬件
刻BITTER14 小时前
VirtualBox 安装Armbian x86 虚拟机
linux·嵌入式硬件