当前位置: 首页 > article >正文

STM32-I2C通信协议

目录

一:什么是I2C通信协议

二:I2C通信

三:I2C时序图

四:面试常见问题 


 

一:什么是I2C通信协议

I2C(Inter-Integrated Circuit)协议是一种串口通信协议,用于在集成电路之间传输数据。它使用两根线(数据线和时钟线)进行通信,支持多个设备总线连接。I2C是一种串行、半双工的总线,注意用于近距离、低速的芯片之间的通信。I2C的总线有两根双向信号线,一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步。

就是在串口通信上满足四个要求

  • 要求1:删掉一根通信线,防止资源浪费,只能在同一根线上进行发送和接收
  • 要求2:需要一个应答机制,没发送一个字节都有一次应答
  • 要求3:一根线上能同时接多个模块
  • 要求4:把异步协议改成同步的协议,另外加一根时钟线

二:I2C通信

  • I2C总线(Inter IC USB)是由Philips公司开发的一种通用数据总线
  • 两根通信线:SCL(Serial Clock) , SDA(Serial Data)
  • 同步、半双工
  • 带数据应答
  • 支持总线挂载多设备(一主多从,多主做从)

1.常见的I2C协议通信硬件

2.硬件电路

   

三:I2C时序图

2.发送一个字节

3.接收一个字节 

4.发送应答 

 5.指定地址写

6.指定地址读 

四:面试常见问题 

1.介绍一下什么是I2C协议?

2.画一下I2C协议的时序图?

3.为什么要用到上拉电阻?

4.如何解决访问冲突?


http://www.kler.cn/a/576058.html

相关文章:

  • C# 命名空间(Namespace)详解
  • 椭圆曲线密码学数学证明推导及实践:基于Python实现与GPU加速GUI演示
  • 视觉-语言模型-出发点CLIP--(挖掘源码-网络框架)
  • 项目设计之用户注册与登录
  • 基于字符的卷积网络在文本分类中的应用与探索
  • 正十七边形尺规作图证明——从高斯的发现到几何实现
  • 记录一次mysql全文索引不生效
  • 六十天前端强化训练之第十一天之事件机制超详解析
  • Windows系统中在VSCode上配置CUDA环境
  • hadoop框架与核心组件刨析(二)HDFS
  • 网络安全需要报班学习吗?
  • 详解linux中的fork函数
  • 上位机知识篇---龙芯2k1000教育派设备树更新
  • CefSharp 文件下载和保存功能-监听前端事件
  • 一个基于C语言的猜数字小游戏
  • 解锁Android Activity:从原理到实战的深度剖析
  • SQLAlchemy系列教程:如何防止SQL注入
  • 在数据集上通过聚类实现特征降维
  • python将pdf转换成word
  • 大数据学习(55)-BI工具数据分析的使用