单片机交流
直播中

石正厚

7年用户 1136经验值
私信 关注
[问答]

怎样用cubeMX去完成oled显示?有哪些步骤?

cubeMX是什么?cubeMX有什么功能?
怎样用cubeMX去完成oled显示?有哪些步骤?

回帖(1)

秦伙茂

2021-7-7 09:53:27
一、需要准备什么?
1.市面上常见的一款引出 I2C 接口的四针oled屏
这是我用的那款
2. STM32F103MiNi开发板
我用的是正点原子的
3.cubeMX(可以去STM官网下载)
也可以看网上现有教程下载安装
二、具体步骤
1.硬件连接
首先从F1的原理图上找到I2C接口
这里我们使用I2C2

开发版 I2C 线序应与 OLED 模块上的线序保持一致
PB10对应 I2C2_SCL,与 OLED 的 SCL 相连。
PB11对应 I2C2_SDA,与 OLED 的 SDA 相连;
开发板上的3.3V与OLED的VCC相连
开发板上的GND与OLED的GND相连
2.软件学习
(1)首先使用cubeMX创建一个新工程

(2)根据板子的芯片选择 我这个板子就是STM32F103RCT

(3)cubeMX 中配置 I2C 如下:

(4)选择高速模式

(5)其他保持默认 生成代码

(6)对工程进行命名和保存路径

(7)勾选上这个会方便后面代码的编写

(8)生成工程代码

(9)打开工程代码

我们需要新建OLED.c,OLED.h 以及 asc.h 三个文件,其中 OLED.h 用于申明驱动函数,OLED.c 实现驱动函数,asc.h 存放了 ASCII 字符编码
这三个文件我已经写好了 大家自行下载添加到自己的项目中就可以用了
链接:点击此处
提取码:6666
先对OLED进行初始化
这里的OLED_init(); 已经在OLED.c中写过了 直接调用就可以

我们通过OLED_operate_gram函数打开OLED显示,接着写入(clear)将所有像素熄灭。
OLED_operate_gram(PEN_CLEAR); 使用OLED_printf Printf 函数在“ ”输入你想在OLED上显示的内容(必须是英文,输出中文及图片会在下一篇的讲解中)这里以“HUIHUI”为例
OLED_printf(0,0,“HUIHUI”); 最后调用 OLED_refresh_gram 函数将 GRAM 数据传输到 OLED 模块的 GRAM 进行显示。
OLED_refresh_gram();

3.效果展示
举报

更多回帖

发帖
×
20
完善资料,
赚取积分