STM32CubeMX驱动4脚OLED模块
文章目录
- STM32CubeMX驱动4脚OLED模块
- 一、准备工作
- 1.硬件平台
- 2.软件平台
- 3.OLED接线图
- 二、操作步骤
- 1.CubeMX配置硬件IIC、串口(用于调试)生成代码
- 2.导入OLED驱动代码
- 3.调用API
- 4.程序下载,观察现象(通用步骤)
- 5.实验现象
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读取AT24C02
只需要配置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循环显示内容,移植到此完成!!!
STM32CubeMX驱动4脚OLED模块相关推荐
- 基于IIC协议的4脚OLED模块的单片机驱动控制(含驱动程序)
文章目录 前言 OLED模块工作原理 iiciiciic总线协议 核心代码 51单片机 stm32单片机 总结 前言 嵌入式控制系统中,常常会遇到需要显示控制状态的控制场合,这种场景下往往不需要显示花 ...
- esp8266驱动四脚oled显示文字和图片
#include "SSD1306Wire.h"/* 设置oled屏幕的相关信息 */ const int I2C_ADDR = 0x3c; // oled屏幕的I2c地址 #de ...
- 基于STM32F1自写移植代码分享系列之0.96寸OLED模块
基于STM32F1自写移植代码分享系列之0.96寸OLED模块 文章目录 基于STM32F1自写移植代码分享系列之0.96寸OLED模块 文件获取 文件使用方法 参数配置 引脚配置 函数介绍 函数说明 ...
- SPI的模拟应用——OLED以及时钟模块的应用(二)7脚OLED的驱动及现实当前温度
https://pan.baidu.com/s/1_wo1f2zA_oLl9EuYuC9Yzg?pwd=ajoyhttps://pan.baidu.com/s/1_wo1f2zA_oLl9EuYuC9 ...
- STM32CubeMX驱动OLED屏模块_IIC
文章目录 1. IIC-OLED模块简介 2. 移植源码到工程 3. 取字模软件的使用 3.1 汉字取模 3.2 图片取模 4. 驱动源码中函数介绍 4.1 初始化OLED屏 4.2 开启/关闭OLE ...
- 东芝开发板驱动OLED模块显示LOGO图片
文章目录 前言 OLED屏简介 优点 缺点 OLED的初始化 BMP单色位图图片数据的取模 1.准备1张小于128*64像素的单色位图图片 2.取模方式的配置 3.生成图片字模数据 几个BMP格式的L ...
- STM32CubeMX驱动ADS1118模块
文章目录 1. 前言 2. ADS1118模块简介 3. 移植源码到工程 4. 驱动源码中函数介绍 4.1 us延时函数 4.2 写入和读取ADS1118配置寄存器 4.3 初始化ADS1118 4. ...
- STM32CubeMX驱动MPU6050模块
文章目录 1. MPU6050模块简介 2. MPU6050重要寄存器介绍 2.1 数字低通滤波器配置寄存器CONFIG 2.2 采样率分频寄存器SMPRT_DIV 2.3 加速度计配置寄存器ACCE ...
- 【STM32】 硬件IIC 驱动SSD1302(0.96 OLED模块) -- 3/4 OLED的命令表 学习
书接上回 文章1:[STM32] 硬件IIC 驱动SSD1306(0.96 OLED模块) – 1/4 库函数 学习 文章2:[STM32] 硬件IIC 驱动SSD1302(0.96 OLED模块) ...
- STM32 HAL 驱动I2C总线0.91寸OLED模块(基于SSD1306显示驱动芯片)
STM32 HAL 驱动I2C总线0.91寸OLED模块(基于SSD1306显示驱动芯片) 基于SSD1306驱动芯片的OLED模块有多种型号,有0.91英寸,0.96英寸等等.OLED采用单色显示方 ...
最新文章
- java设计模式-Builder创建者模式
- list集合去重的三种方式
- 启动kafka失败报内存不足(Cannot allocate memory)
- python处理shp和栅格文件的相关库shapefile、gdal等
- socket中的几个数据结构
- 程序员修炼之道:从小工到专家
- UIWebView的离线缓存
- uniapp某个页面高度占满写法
- 阿里最新分享Redis全套学习笔记PDF版,图文并茂,太详细了
- 5, Swift tableView点击收起展开的效果
- 利用Q-learning解决Cliff-walking问题
- timeline java_Java Timeline.stop方法代码示例
- H5电玩城源码+玩法比较多+UI也特别好看+纯源码系列
- vscode 插件-常用插件
- excel表格拆分成多个工作表
- python中的format什么意思中文-python中format函数什么意思
- bootstrap 元素
- 深入浅出单点登录---4、基于OAuth实现的统一认证
- 紫光输入法linux,Linux中巧妙安装红旗紫光输入法(转)
- 微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的