iic协议

简介: 协议

1、简介

串行、半双工、近距离、多机通信

通信流程
主机发送起始信号,启用总线
主机发送一字节数据(从机地址+写或读)(7+1)
从机发送应答信号回应主机
发送器发送数据(先发高位)
接收器发送应答回应
通信完成后,主机发送停止信号释放总线

2、硬件

SCL:时钟线
SDA:数据线
从机多了要接上拉电阻
空闲输出高阻态,用高阻态表示高电平

3、协议

3.1、读取数据方式
时钟线高电平的时候,下降沿起始信号,上升沿停止信号
在时钟线高电平的时候,读取数据;低电平SDA切换数据

应答信号
SDA释放,等待低电平应答

3.2、设备地址
7位地址+最后一个读写位(构成8位地址)
1读地址
0写地址

3.3、写
起始信号>发写地址>等待响应>发数据等响应>停止信号

3.4、读
起始信号>发读地址>等待响应>接收数据>发送响应信号>停止信号

3.5、写读
起始信号>发写设备地址>发要读的地址>起始信号>发读设备地址>
接收数据

目录
相关文章
|
算法 5G 数据处理
m基于FPGA的PPM光学脉位调制解调系统verilog实现,包含testbench
m基于FPGA的PPM光学脉位调制解调系统verilog实现,包含testbench
225 0
|
Cloud Native 容器 Kubernetes
1.1 云原生历史
云原生的发展历程和 CNCF
2205 0
|
供应链 安全 数据挖掘
外卖跑腿系统开发详情丨校园外卖跑腿系统开发指南
开发外卖跑腿系统旨在服务于外卖平台和跑腿服务商,实现用户下单、骑手接单及订单管理等功能。系统包括用户端应用(注册、下单、支付等)、商家管理(菜单更新、订单处理)、骑手端应用(任务接收、配送)以及实时订单管理。此外,系统支持多种支付方式、订单结算、评价反馈机制、数据统计报表和客户服务,确保交易安全、提升效率并优化用户体验。
|
设计模式 监控 Java
打造高效的Java应用架构:从入门到精通
打造高效的Java应用架构:从入门到精通
|
机器学习/深度学习 监控 数据可视化
关于运动员伤病预测数据集的探索(上)
关于运动员伤病预测数据集的探索
336 1
|
缓存 监控 PHP
【PHP开发专栏】Memcached在PHP中的缓存应用
【4月更文挑战第29天】Memcached是高性能分布式内存缓存系统,常用于加速动态Web应用,减轻数据库负担。在PHP中,通过官方扩展模块与Memcached服务器交互,涉及安装扩展、创建实例、设置/获取缓存、删除缓存及其它操作。使用Memcached可减少数据库负载、缓存查询结果、实现页面缓存,支持分布式缓存,并需注意避免缓存击穿、穿透和雪崩。监控和调优缓存策略能优化性能。了解和掌握Memcached有助于提升PHP应用的效率和扩展性。
175 0
|
前端开发 Java 数据库
基于SpringBoot+Vue学生成绩管理系统前后端分离(源码+数据库)
基于SpringBoot+Vue学生成绩管理系统前后端分离(源码+数据库)
301 0
selenium.common.exceptions.InvalidElementStateException: Message: Unable to perform W3C actions.
selenium.common.exceptions.InvalidElementStateException: Message: Unable to perform W3C actions.
196 0
|
监控 Java
【线上问题排查】CPU100%和内存100%排查
【线上问题排查】CPU100%和内存100%排查
316 1