源代码;https://github.com/YuQiao0303/STM32F407-Examples/tree/master/24.IIC

概述

  • I2C (IIC, Inter-Integrated Circuit),两线式串行总线,
  • 用于连接微控制器及其外围设备。
  • 它是由数据线SDA和时钟SCL构成的串行总线
  • 在CPU与被控IC之间、IC与IC之间进行双向传送
  • IIC是半双工通信方式

协议

①空闲状态
②开始信号
③停止信号

④应答信号

  • 发送器每发送一个字节(8位)
  • 接收器在第九个时钟脉冲前,将SDA拉低,
  • 并在该时钟的高电平期间保持稳定低电平
  • 这就是一个有效应答位ACK,表示该字节接收成功
  • 否则如果应答信号是低电平,则为非应答位(NACK),表示该字节没有接收成功

⑤数据的有效性

时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

即:数据在SCL的上升沿到来之前就需准备好。并在在下降沿到来之前必须稳定。

⑥数据传输

  • 在I2C总线上传送的每一位数据都有一个时钟脉冲相对应(或同步控制),
  • 即在SCL串行时钟的配合下,在SDA上逐位地串行传送每一位数据。
  • 数据位的传输是边沿触发。

EEPROM(24C02)

本次实验,利用I2C通信协议,将数据写入24C02存储芯片。

芯片概述

芯片读写时的地址(device address)

芯片时序图


最新文章

  1. 基于Azure构建PredictionIO和Spark的推荐引擎服务
  2. Partial backup 备份指定表/库
  3. 20145330第六周《Java学习笔记》
  4. CodeForces 34B Sale
  5. jquery的add()方法扩大选择返回
  6. bzoj 1270 DP
  7. MySQL定义外键的方法
  8. utf-8中的汉字占用多少字节
  9. WPF利用动画实现圆形进度条
  10. 难得一见的HTML5动画欣赏及源码下载
  11. 绘制FastMM内存分配流程图(小块内存分配)
  12. 在服务器上用Fiddler抓取HTTPS流量
  13. picasso图片缓存框架
  14. Linux完整备份工具 - dump, restore(现在基本不用这两个)
  15. 《Machine Learning Yearing》读书笔记
  16. APPLE-SA-2019-3-25-2 macOS Mojave 10.14.4,Security Update 2019-002 High Sierra, Security Update 2019-002 Sierra
  17. MTK 修改默认屏幕亮度
  18. ini文件读写
  19. 浅谈压缩感知(十六):感知矩阵之RIP
  20. actor model vs tasked based parallizm

热门文章

  1. Unity EditorWindow知识记录
  2. elasticsearch的模糊查询
  3. JS脚本不能执行
  4. php 几个比较实用的函数
  5. React 实践记录 02 Flux introduction
  6. Spring相关BUG
  7. 关于RegExp的一些使用的练习(代码加注释)
  8. wine使用
  9. 初识react中的状态量
  10. 从零开始利用vue-cli搭建简单音乐网站(七)