导图社区 I2C通信
I2C模块接收和发送数据,并将数据从串行转换成并行,或并行转换成串行。可以开启或禁止中断。接口通过数据引脚(SDA)和时钟引脚(SCL)连接到I2C总线。允许连接到标准(高达100kHz)或快速(高达400kHz)的I2C总线。
stm32单片机学习笔记,(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作,仲裁器协调DMA和CPU。两个DMA控制器有12个通道(DMA1有7个通道,DMA2有5个通道),每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道。DMA可以用于主要的外设:SPI、I 2 C、USART,通用、基本和高级控制定时器TIMx和ADC。
社区模板帮助中心,点此进入>>
电费水费思维导图
D服务费结算
材料的力学性能
总平面图知识合集
软件项目流程
一级闭合导线
建筑学建筑材料思维导图
第二章土的物理性质及工程分类
人工智能的运用与历史发展
电池拆解
I2C通信
协议
基本单元
起始 终止条件:主机的SCL和SDA 起始:SCL高电平期间,SDA由高到低电平 终止: ...SDA由低到高电平
发送一个字节:主机拉低SCL,往SDA放数据,释放SCL,从机读SDA 8位为一个字节 高位先行
在SCL高电平期间 从机读数据
接收一个字节:主机释放SDA(交出控制权),拉低SCL, 从机往SDA放数据,释放SCL,主机读取
主机
发送\接收应答
时序:
指定地址写:指定设备(7位地址+1位读写)+寄存器地址+数据
子主题
当前地址读:
指定地址读:1+2(当前的地址指针)
同步
两根通信线:SCL 和 SDA 同步 半双工(兼具数据收发)
允许总线挂载多设备:一主多从 多主多从
电路连接
主机 从机 SCL(输入) 单片机(CPU) SDA(输入输出)
SCL接在一起,SDA接在一起
配置成开漏输出(强下拉(低电平)or浮空(高电平))---防止电源短路
加上拉电阻(弱上拉 拉到高电平)---防止高电平的浮空状态
输入不影响
软件读写MPU6050
MyI2C
初始化:GPIO
6个时序
开始 终止条件
发送 接收一个字节
发送 接收应答
MPU6050
初始化
基于I2C初始化
解除睡眠模式
配置陀螺仪
指定地址写:MPU6050模式+时序
指定地址读
获取ID和数据
main
指定地址读:
1. 点名时序
2. 验证寄存器
读地址:ID
读xyz加速度值/陀螺仪值:指针函数
硬件I2外设 (减轻CPU负担)
可变多主机模型
框图:SCL和SDA引脚通过GPIO口与外部世界相连(复用开漏输出)
SDA数据收发
数据控制
数据寄存器 数据移位寄存器 标志位
SCL时钟控制 数据控制器 中断 DMA请求
主机发送
主机接收
硬件I2C读写MPU6050
配置
I2C2和GPIO初始化
使能
指定地址写
51单片机: