#STM32 学习笔记(I2C)
·
1. OLED显示器基本原理
通过I2C总线向内存里面写入数据,来调试内存内容,对比特位写1则亮

2. 屏幕初始化
初始化软I2C
屏幕初始化

回调函数的作用:OLED 库本身不实现 I2C 底层收发,通过回调函数,把【I2C 硬件发送】交给用户自己实现。 OLED 库只管组织 OLED 命令、显示数据;真正把字节通过 I2C 总线发出去的工作,调用你写的 I2C 函数完成。
3. 基本概念与基本操作
画笔和画刷


屏幕坐标系

光标

4. 文字相关操作
打印字符串

设置字体

添加别的字时先向map中添加需要的字,然后点击爱心运行
格式化打印字符串

%04d/%02d/%02
设置文本区域
5. 设置文本区域


6. 绘图相关操作
画点

画线

画圆和画矩形

绘制位图
前往image2cpp生成图片代码

7. 硬件 I2C vs 软件 I2C
I2C 是通信协议;硬件 I2C是片上外设硬件模块实现协议;软件 I2C(模拟 I2C)用普通 GPIO 引脚,CPU 靠软件时序模拟 I2C 协议。
核心区别
1. 实现方式
- 硬件 I2C:芯片内置 I2C 外设,SDA/SCL 必须用指定专用引脚。时序由硬件电路自动生成,CPU 只读写寄存器收发数据。
- 软件 I2C(软 I2C):任意普通 GPIO 引脚,程序里手动写高低电平、延时,模拟起始、停止、应答、读写时序。
2. CPU 占用
- 硬件 I2C:占用 CPU 少,可以配合中断 / DMA,发数据时 CPU 可以干别的事。
- 软件 I2C:CPU 占用高,全程 CPU 循环翻转 IO、延时,模拟时序,期间不能被打断,打断就会通信出错。
3. 引脚灵活性
- 硬件 I2C:引脚固定,只能用芯片分配好的 I2C 引脚。
- 软件 I2C:任意 GPIO 都可以当 SDA、SCL,引脚随便选,布线 PCB 方便。
4. 速度
- 硬件 I2C:标准 100kHz、400kHz,部分芯片支持 1MHz+,速度稳定。
- 软件 I2C:速度受 CPU 主频、延时函数影响,一般只能跑到几十~400kHz;延时不准会直接通信失败。
更多推荐


所有评论(0)