文章目录

  • 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模块相关推荐

  1. 基于IIC协议的4脚OLED模块的单片机驱动控制(含驱动程序)

    文章目录 前言 OLED模块工作原理 iiciiciic总线协议 核心代码 51单片机 stm32单片机 总结 前言 嵌入式控制系统中,常常会遇到需要显示控制状态的控制场合,这种场景下往往不需要显示花 ...

  2. esp8266驱动四脚oled显示文字和图片

    #include "SSD1306Wire.h"/* 设置oled屏幕的相关信息 */ const int I2C_ADDR = 0x3c; // oled屏幕的I2c地址 #de ...

  3. 基于STM32F1自写移植代码分享系列之0.96寸OLED模块

    基于STM32F1自写移植代码分享系列之0.96寸OLED模块 文章目录 基于STM32F1自写移植代码分享系列之0.96寸OLED模块 文件获取 文件使用方法 参数配置 引脚配置 函数介绍 函数说明 ...

  4. SPI的模拟应用——OLED以及时钟模块的应用(二)7脚OLED的驱动及现实当前温度

    https://pan.baidu.com/s/1_wo1f2zA_oLl9EuYuC9Yzg?pwd=ajoyhttps://pan.baidu.com/s/1_wo1f2zA_oLl9EuYuC9 ...

  5. STM32CubeMX驱动OLED屏模块_IIC

    文章目录 1. IIC-OLED模块简介 2. 移植源码到工程 3. 取字模软件的使用 3.1 汉字取模 3.2 图片取模 4. 驱动源码中函数介绍 4.1 初始化OLED屏 4.2 开启/关闭OLE ...

  6. 东芝开发板驱动OLED模块显示LOGO图片

    文章目录 前言 OLED屏简介 优点 缺点 OLED的初始化 BMP单色位图图片数据的取模 1.准备1张小于128*64像素的单色位图图片 2.取模方式的配置 3.生成图片字模数据 几个BMP格式的L ...

  7. STM32CubeMX驱动ADS1118模块

    文章目录 1. 前言 2. ADS1118模块简介 3. 移植源码到工程 4. 驱动源码中函数介绍 4.1 us延时函数 4.2 写入和读取ADS1118配置寄存器 4.3 初始化ADS1118 4. ...

  8. STM32CubeMX驱动MPU6050模块

    文章目录 1. MPU6050模块简介 2. MPU6050重要寄存器介绍 2.1 数字低通滤波器配置寄存器CONFIG 2.2 采样率分频寄存器SMPRT_DIV 2.3 加速度计配置寄存器ACCE ...

  9. 【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模块) ...

  10. STM32 HAL 驱动I2C总线0.91寸OLED模块(基于SSD1306显示驱动芯片)

    STM32 HAL 驱动I2C总线0.91寸OLED模块(基于SSD1306显示驱动芯片) 基于SSD1306驱动芯片的OLED模块有多种型号,有0.91英寸,0.96英寸等等.OLED采用单色显示方 ...

最新文章

  1. java设计模式-Builder创建者模式
  2. list集合去重的三种方式
  3. 启动kafka失败报内存不足(Cannot allocate memory)
  4. python处理shp和栅格文件的相关库shapefile、gdal等
  5. socket中的几个数据结构
  6. 程序员修炼之道:从小工到专家
  7. UIWebView的离线缓存
  8. uniapp某个页面高度占满写法
  9. 阿里最新分享Redis全套学习笔记PDF版,图文并茂,太详细了
  10. 5, Swift tableView点击收起展开的效果
  11. 利用Q-learning解决Cliff-walking问题
  12. timeline java_Java Timeline.stop方法代码示例
  13. H5电玩城源码+玩法比较多+UI也特别好看+纯源码系列
  14. vscode 插件-常用插件
  15. excel表格拆分成多个工作表
  16. python中的format什么意思中文-python中format函数什么意思
  17. bootstrap 元素
  18. 深入浅出单点登录---4、基于OAuth实现的统一认证
  19. 紫光输入法linux,Linux中巧妙安装红旗紫光输入法(转)
  20. 微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的

热门文章

  1. Mblock使用时钟中断显示4段数码管的值
  2. 6678学习笔记开篇
  3. HashMap底层数据结构详解
  4. FastDFS原理和过程
  5. 【JAVA 数据结构】 JAVA实现动态数组
  6. 基于知识图谱的古诗词推荐(python+爬虫+mysql+neo4j)(一)
  7. 您好,我想请问为什么地理空间数据云下载解压后只有一个文件格式,不是说有七八个段波样子的文件嘛,你们是怎么解决的呢,感谢回复
  8. python爬取大众点评数据_小试Python——爬虫抓取大众点评上的数据
  9. 第一节 电 电流 电压 电路 基本电子元件
  10. 教育平台的线上课程 智能推荐策略