STM32 HAL库移植:在4针脚0.96寸OLED屏上实现IIC硬件通信(一)

目录

  • 一、IIC背景和接线
  • 1.1 什么是IIC
  • 1.2 如何接线
  • 二、STM32CubeMX部分
  • 2.1 配置时钟
  • 2.2 配置IIC
  • 2.3 工程生成
  • 三、MDK 5 部分
  • 3.1 移植OLED文件
  • 3.2 修改main函数
  • 效果如图
  • 前期准备:

    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

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32 HAL库移植:在4针脚0.96寸OLED屏上实现IIC硬件通信(一)

    发表回复