【STM32】HAL库在4针脚0.96寸OLED屏上的移植—硬件IIC(一)

  • Post author:
  • Post category:其他


前期准备:

  1. STM32CubeMX
  2. STM32C8T6核心板
  3. IDE Keil(MDK-ARM)
  4. 杜邦线×4
  5. 0.96寸OLED屏(4针脚)



一、IIC背景和接线



1.1 什么是IIC

IIC(Inter-Integrated Circuit)是一个

多主从的串行总线

,又叫I2C,是由飞利浦公司发明的通讯总线,属于半双工同步传输类型总线。IIC总线是非常常见的数据总线,仅仅使用两条线就能完成多机通讯,一条

SCL时钟线

,另外一条

双向数据线SDA

  1. 软件IIC:通过软件编写代码控制管脚按照IIC的原理进行工作,模拟IIC就是软件IIC
  2. 硬件IIC:有些单片机的管脚复用功能有IIC,即这些单片机内部集成了专门用于IIC工作的芯片,即硬件IIC


硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活



1.2 如何接线

在这里插入图片描述

单片机 OLED屏
电源地 GND
电源3.3V~5V VCC
IIC_SDA PB7
IIC_SCL PB6



二、STM32CubeMX部分



2.1 配置时钟

选择STM32F103C8Tx系列芯片,配置时钟的同时会自动配置IO口引脚

在这里插入图片描述

将HCLK设置为最大频率72MHz

在这里插入图片描述



2.2 配置IIC

在这里插入图片描述



2.3 工程生成

在这里插入图片描述

在这里插入图片描述

工程管理依旧是这几个选项,然后GENERATE CODE,STM32CubeMX部分完成



三、MDK 5 部分



3.1 移植OLED文件

文末有工程链接



oled

文件放在如图位置

在这里插入图片描述

打开MDK 5 ,点击如图

在这里插入图片描述

添加

oled.c

文件

在这里插入图片描述

添加

oled.h

文件路径

在这里插入图片描述



3.2 修改main函数

  1. 添加头文件

    #include "oled.h"


    在这里插入图片描述
  2. OLED初始化

    在这里插入图片描述
  3. while(1)函数

    在这里插入图片描述

编译下载时需要选择相对应的下载器,勾选以下

在这里插入图片描述



效果如图

在这里插入图片描述


本期工程文档——>Gitee



版权声明:本文为Qxiaofei_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。