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的注释补齐,并阅读数据手册中的命令表,实现屏幕对比度、屏幕亮灭、水平滚动.......

相关推荐
国科安芯29 分钟前
高速CANFD收发器ASM1042在割草机器人轮毂电机通信系统中的适配性研究
网络·单片机·嵌入式硬件·性能优化·机器人·硬件工程
CC呢1 小时前
基于单片机智能路灯控制
单片机·嵌入式硬件·智能路灯
DDUU__1 小时前
STM32低功耗模式
stm32·单片机·嵌入式硬件
小莞尔3 小时前
【51单片机】【protues仿真】基于51单片机宠物投食器系统
c语言·stm32·单片机·嵌入式硬件·51单片机·proteus
逼子格3 小时前
【Protues仿真】基于AT89C52单片机的数码管驱动事例
单片机·嵌入式硬件·硬件工程·硬件工程师·protues·数码管·电路仿真
風清掦3 小时前
零基础玩转STM32:深入理解ARM Cortex-M内核与寄存器编程
stm32·单片机·嵌入式硬件·mcu·物联网
芯岭技术7 小时前
PY32F003国产单片机、外设丰富、高性价比的国产替代方案
单片机·嵌入式硬件
QQ5286211249 小时前
单片机GD32F230芯片解密解析及专业操作建议
单片机·嵌入式硬件
一枚小小程序员哈10 小时前
基于stm32的智能建筑能源管理系统/基于单片机的能源管理系统
stm32·单片机·能源
物联网牛七七10 小时前
51和stm32的点灯区别
stm32·单片机·51单片机