STM32之IIC(重点)和OLED屏

  1. 内部集成电路概述
  • 基本概念

内部集成电路(Inter Integrated Circuit)的简称叫做IIC或者I2C,是一种简单的、半双工同步通信的串行通信接口,IIC总线是上世纪80年代(1982年)由飞利浦公司设计出来,当时的目的是为了给MCU和外围芯片提供更简单的交互方式。

  • 引脚说明

IIC总线只需要两根引脚就可以实现通信,一根是数据线(SDA Serial Data),另一根是时钟线(SCL Serial Clock),所有通过IIC接口通信的外围器件都挂载在IIC总线上,通过这种机制就可以实现多机通信。

外围器件的时钟线和数据线都是挂载在IIC总线(由主控芯片提供),并且在空闲状态下所有器件的时钟线(SCL)和数据线(SDA)都被总线的上拉电阻拉高,这样就可以把SDA引脚和SCL引脚设置为开漏模式即可,原因是因为从器件内部结构中SDA和SCL都是开漏结构。

  • 通信速率

可以看到IIC总线支持不同的通信速率,但是一般常用的标准速率100KHZ,但是有的外围器件可以支持高达400KHZ的通信速率,而由于IIC总线是半双工通信,所以同一时刻只能接收或者发送,也就是说IIC总线一般是为了控制,不适合作为大量数据传输的接口。

  • 通信过程
  • 时序分析
  1. 空闲状态
  1. 开始条件
  1. 传输数据
  1. 应答条件
  1. 停止条件
  • 器件地址

对于IIC接口通信的传感器的数据手册中都会描述器件地址,器件地址一般都是采用7bit实现。

  • 时序模拟

由于MCU内部只有3个硬件IIC接口,所以想要使用IIC接口控制传感器,就必须使用IIC接口对应的引脚,把引脚复用为IIC功能,并且对硬件IIC进行配置和初始化,为了提高可移植性,用户也可以采用IO口模拟IIC时序的方案来控制传感器,该方案不受硬件的限制。

  1. OLED屏的原理与应用
  • 基本概念
  • 驱动芯片
  • 器件地址
  • 硬件接线
  • 程序移植
  1. 下载源码
  1. 分析源码
  1. 拷贝文件
  1. 添加文件
  1. 修改源码
  1. 编译工程
  • 取模操作
  1. 图片取模
  1. 汉字取模
  • 验证结果

作业:要求阅读SSD1306的数据手册,独立完成1次OLED屏的程序移植,并把OLED屏的oled.c和oled.h的注释补齐,并阅读数据手册中的命令表,实现屏幕对比度、屏幕亮灭、水平滚动.......

相关推荐
ACP广源盛139246256739 分钟前
IX9104 PCIe5.0 交换芯片@ACP#国产高端 AI PC 全搭配方案
大数据·人工智能·分布式·单片机·嵌入式硬件
张海森-1688201 小时前
两个char 类型变量,如何相互赋值
单片机
SUNNYSPY0012 小时前
75N120-ASEMI户用储能PCS专用75N120
单片机
piaoyiren2 小时前
单片机串口控制单路共阳极数码管
单片机·嵌入式硬件·51单片机
南山电子nscn3 小时前
友顺科技UTC UR56XX系列在18V高压输入与1µA级超低功耗之间实现了出色的平衡
科技·单片机·嵌入式硬件·低压差线性稳压器
万亿少女的梦1683 小时前
基于STM32F103C8T6与ASR Pro的语音控制四足机器人设计
stm32·语音识别·嵌入式系统·四足机器人·舵机控制
嵌入式-老费4 小时前
esp32开发与应用(与stm32f103工控板配合之上篇)
stm32·单片机·嵌入式硬件
周洲08307 小时前
裸机程序 vs RTOS架构深度对比|嵌入式项目选型标准、源码实战、优缺点全解析
stm32·嵌入式硬件
M海洋7 小时前
Ubuntu dialout 串口权限授权
linux·单片机·ubuntu
piaoyiren8 小时前
51单片机播放音乐
单片机·嵌入式硬件·51单片机