【STM32】STM32学习笔记-I2C通信外设(34)

00. 目录

文章目录

    • [00. 目录](#00. 目录)
    • [01. I2C简介](#01. I2C简介)
    • [02. I2C外设简介](#02. I2C外设简介)
    • [03. I2C框图](#03. I2C框图)
    • [04. I2C基本结构](#04. I2C基本结构)
    • [05. 主机发送](#05. 主机发送)
    • [06. 主机接收](#06. 主机接收)
    • [07. 软件/硬件波形对比](#07. 软件/硬件波形对比)
    • [08. 预留](#08. 预留)
    • [09. 附录](#09. 附录)

01. I2C简介

I2C(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。

串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达 3.4Mbit/s。

I2C是一个多主机的总线,每个设备既可以当主控器或被控器,又可作为发送器或接收器,一条总线上可以有多个主机,但同一时刻只允许一个主机工作。

I2C(芯片间)总线接口连接微控制器和串行I2C总线。它提供多主机功能,控制所有I2C总线特定的时序、协议、仲裁和定时。支持标准和快速两种模式,同时与SMBus 2.0兼容。

I2C模块有多种用途,包括CRC码的生成和校验、SMBus(系统管理总线---System Management Bus)和PMBus(电源管理总线---Power Management Bus)。

根据特定设备的需要,可以使用DMA以减轻CPU的负担。

02. I2C外设简介

•STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担

•支持多主机模型

•支持7位/10位地址模式

•支持不同的通讯速度,标准速度(高达100 kHz),快速(高达400 kHz)

•支持DMA

•兼容SMBus协议

•STM32F103C8T6 硬件I2C资源:I2C1、I2C2

03. I2C框图

04. I2C基本结构

05. 主机发送

06. 主机接收

07. 软件/硬件波形对比

软件I2C波形

硬件I2C波形

08. 预留

09. 附录

参考: 【STM32】江科大STM32学习笔记汇总

相关推荐
了一梨22 分钟前
SQLite3学习笔记4:打开和关闭数据库 + 创建表(C API)
数据库·学习·sqlite
阿蒙Amon5 小时前
TypeScript学习-第1章:入门
javascript·学习·typescript
哄娃睡觉5 小时前
stm32 mcu SWD和SPI下载模式有什么区别?
stm32
奥特曼_ it7 小时前
【数据分析+机器学习】基于机器学习的招聘数据分析可视化预测推荐系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
笔记·数据挖掘·数据分析
A9better8 小时前
嵌入式开发学习日志50——任务调度与状态
stm32·嵌入式硬件·学习
四维碎片8 小时前
QSettings + INI 笔记
笔记·qt·算法
非凡ghost8 小时前
ESET NupDown Tools 数据库下载工具
学习·软件需求
zzcufo9 小时前
多邻国第5阶段17-18学习笔记
笔记·学习
BlackWolfSky9 小时前
鸿蒙中级课程笔记4—应用程序框架进阶1—Stage模型应用组成结构、UIAbility启动模式、启动应用内UIAbility
笔记·华为·harmonyos
中屹指纹浏览器9 小时前
指纹浏览器性能优化实操——多实例并发与资源占用管控
经验分享·笔记