一、SCL和SDA引脚说明 I2C的两个引脚(SCL引脚和SDA引脚)需要既能输出又能输入,为了避免复杂的配置操作需要把该引脚配置为开漏输出模式,该模式的说明如下图所示: 当单片机的SDA引脚配置为低电平时,SDA线被拉低;当单片机的SDA引脚配置为高电平时,引脚端口为高阻 ...
这里以M C 存储芯片为例: 一 数据格式 读数据: 写数据: 二 I C时序图 读写时序图: 三 软件实现 开始 在SCL处于高电平的状态时,SDA产生一个下降沿信号 停止 在SCL处于高电平的状态时,SDA产生一个上升沿信号 等待响应信号 如果等到响应信号SDA电平信号由高电平变成低电平,否则未等到响应信号 发送响应 发送未响应 发送数据 发送一个字节数据 接收数据 接收一个字节数据 读多个数 ...
2020-08-04 17:19 0 2998 推荐指数:
一、SCL和SDA引脚说明 I2C的两个引脚(SCL引脚和SDA引脚)需要既能输出又能输入,为了避免复杂的配置操作需要把该引脚配置为开漏输出模式,该模式的说明如下图所示: 当单片机的SDA引脚配置为低电平时,SDA线被拉低;当单片机的SDA引脚配置为高电平时,引脚端口为高阻 ...
I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法。 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入、输出和高低电平变化,来模拟I2C总线通讯过程中SCL、SDA的电平变化来实现的。 2. ...
一、硬件电路 二、代码实现 I2C驱动程序链接:https://www.cnblogs.com/wenhao-Web/p/14151229.html 1、软件延时 2、初始化 3、写一个字 ...
前段时间做项目,需要gpio模拟i2c通信,最后参考了一些资料,然后编写了一个程序。现在发出来,以免以后忘记,也为一些需要的朋友提供参考。不喜勿喷哈。 /* 说明:该程序是基于atmel公司的sama5d35 MCU 用其中两个GPIO引脚模拟i2c通信。 * 其中两个引脚连接到了hd1650 ...
硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,因而效率要远高于软件模拟的I2C;一般也较为稳定,但是程序较为繁琐。 硬件(固件)I2C是直接调用内部寄存器进行配置;而软件I2C是没有寄存器这个概念的。 软件I2C一般是使用GPIO管脚,用软件控制SCL ...
所谓模拟I2C是指使用普通GPIO口的输入输出功能来模拟I2C总线的时序,用来通过I2C总线进行通信。 I2C的基本知识: 1、I2C总线有两条线:SCL是时钟线,SDA是数据线; 2、I2C总线通信方式是主从模式,即由主设备发起通信,从设备响应通信; 3、I2C从设备具有I2C地址 ...
I2C总线的结构、工作时序与模拟编程 I2C总线的结构、工作时序与模拟编程I2C总线(Inter Integrated Circuit)是飞利浦公司于上个世纪80年代开发的一种“电路板级”的总线结构。与其它串行接口相比,无论从硬件结构、组网方式、软件编程都有很大的不同。在AT89C51系统上使用 ...
一、什么是I2C? I2C是串行数据总线,有两根信号线组成,一根是SDA(数据线),一根是SCL(时钟线)。I2C总线是多主从总线,当有两个主机或多个主机同时初始化传输数据时,可以通过冲突检测和仲裁防止数据被破坏,每个连接到总线上的设备都有唯一的地址,任何器件既可以作为主机也可以作为从机 ...