STM32CubeMX驱动4脚OLED模块
文章目录
STM32CubeMX驱动4脚OLED模块
一、准备工作
1.硬件平台
使用正点原子STM32F4探索者
OLED模块
2.软件平台
STM32CubeMX软件平台 V6.2.1
Keil5软件平台 V5.32
STM32CubeProgrammer下载平台
GIT分布式版本控制系统(非必须)
3.OLED接线图
F4芯片IIC引脚为PB8、PB9:
4脚IIC接线图如下:
二、操作步骤
1.CubeMX配置硬件IIC、串口(用于调试)生成代码
硬件IIC配置可以参考我之前的博客
只需要配置STM32CubeMX的硬件IIC,生成代码后不要急着写代码,下一步导入OLED驱动代码
2.导入OLED驱动代码
进入CubeMX生成的代码工程,在工程文件夹下新建一个Hardware文件夹
进入Hardware文件夹,如果有Git软件的同学,右击进入GitBush,粘贴如下代码,按下Enter键
git init
git config core.sparsecheckout true
echo '/oled_normal*' >> .git/info/sparse-checkout #改变添加文件夹
git remote add github https://github.com/Ajie16/Useful_Code_of_JeckXu.git #改变仓库链接
git pull github master #作者jeckxu
代码开始执行,将会把我修改的IIC驱动OLED接口代码拉下来
拉下来后的文件夹,有几层路径,因为我的Github上不止IIC一个代码,文件树较多,觉得不舒服可以手动创建一个文件夹,把三个文件放进去
没有Git分布式管理工具的同学,进入CSDN下载链接下载IIC驱动OLED代码,然后手动解压到如图位置就行!
下载链接:HAL驱动4脚OLED代码
代码放好后我们进入MDK工程,添加代码
MDK工程新建Hardware文件夹,将oled.c添加进去
文件添加后,按下图点击位置添加编译路径定位到oled.c文件夹下
3.调用API
在main.c的用户环境包含代码段内添加使用到的头文件
#include "oled.h"
用户初始代码段2插入OLED初始化代码,并调用API函数,显示字符串
/* USER CODE BEGIN 2 */
OLED_Init();
OLED_ShowString(10,10,"JeckXu666",16);
/* USER CODE END 2 */
代码插入位置
主循环插入如下代码,交替显示
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
OLED_ShowString(10,10,"JeckXu666",16);
HAL_Delay(1000);
OLED_ShowString(10,10,"JeckXu999",16);
HAL_Delay(1000);
OLED_ShowString(10,10,"JeckXuQQQ",16);
HAL_Delay(1000);
}
/* USER CODE END 3 */
插入位置:
编译程序,无报错
4.程序下载,观察现象(通用步骤)
程序下载我一般用两种方式:
第一种是使用MDK自带的下载环境下载程序,我们给单片机连接ST-Link后配置下载,点击魔术棒,选择debug
选择ST-link后,点击setting
添加对应F4的Flash
keil界面点击下载
第二种是使用Stm32Programmer下载软件,该下载软件下载方式多,下载快,下面我使用st-link下载
打开软件,点击connect左边选择stlink后再点击connect连接下载器
点击open file,找到工程路径下MDK文件夹下工程生成的hex文件
之后点击downlod下载,下载结果如下
5.实验现象
上电复位后OLED循环显示内容,移植到此完成!!!