I2C总线的通信过程(见图4-8)主要包含三个主要阶段:起始阶段、数据传输阶段和终止阶段。 1. 起始阶段 在I2C总线不工作的情况下,SDA(数据线)和SCL(时钟线)上的信号均为高电平。如果此时主机需要发起新的通信请求,那么需要首先通过SDA和SCL发出起始标志。当SCL为高电平 ...
所谓模拟I C是指使用普通GPIO口的输入输出功能来模拟I C总线的时序,用来通过I C总线进行通信。 I C的基本知识: I C总线有两条线:SCL是时钟线,SDA是数据线 I C总线通信方式是主从模式,即由主设备发起通信,从设备响应通信 I C从设备具有I C地址,从设备只有收到自己的地址信息后才会被唤醒 具有不同地址的从设备可以挂载到同一个I C总线上 从设备地址的最后一个Bit表示读写, ...
2022-01-14 13:43 0 2060 推荐指数:
I2C总线的通信过程(见图4-8)主要包含三个主要阶段:起始阶段、数据传输阶段和终止阶段。 1. 起始阶段 在I2C总线不工作的情况下,SDA(数据线)和SCL(时钟线)上的信号均为高电平。如果此时主机需要发起新的通信请求,那么需要首先通过SDA和SCL发出起始标志。当SCL为高电平 ...
前段时间做项目,需要gpio模拟i2c通信,最后参考了一些资料,然后编写了一个程序。现在发出来,以免以后忘记,也为一些需要的朋友提供参考。不喜勿喷哈。 /* 说明:该程序是基于atmel公司的sama5d35 MCU 用其中两个GPIO引脚模拟i2c通信。 * 其中两个引脚连接到了hd1650 ...
I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法。 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入、输出和高低电平变化,来模拟I2C总线通讯过程中SCL、SDA的电平变化来实现的。 2. ...
刚入职不久,下面是使用stm8s005k6写的eeprom驱动程序。EEPROM型号为ST公司的M24C256. bsp_i2c.c bsp_i2c.h bsp_eeprom.c ...
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中 ...
I2C总线的结构、工作时序与模拟编程 I2C总线的结构、工作时序与模拟编程I2C总线(Inter Integrated Circuit)是飞利浦公司于上个世纪80年代开发的一种“电路板级”的总线结构。与其它串行接口相比,无论从硬件结构、组网方式、软件编程都有很大的不同。在AT89C51系统上使用 ...
这里以M24C04存储芯片为例: 一、数据格式 1、读数据: 2、写数据: 二、I2C时序图 1、读写时序图: 三、软件实现 1、开始 在SCL处于高电平的状态时,SDA产生一个下降沿信号; 2、停止 ...
高低电平时序的控制,来产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接 ...