回答

收藏

【赚周年币】技术贴Week 2-Day5-----mbed之I2C学习

#线上活动 #线上活动 2607 人阅读 | 0 人回复 | 2017-01-09

本帖最后由 wambob 于 2017-1-9 20:30 编辑

        I2C(Inter-Integrated Circuit)是内部整合电路的称呼,是一种串行通讯总线,使用多主从架构,由飞利浦公司开发。
I2C串行总线有两根信号线,SDA(数据线)和SCL(时钟线)。
可以通过连到I2C总线上的所有器件的唯一的地址识别完成一对多的通讯。
在I2C总线上的器件有两类角色,即主机(Master)和从机(Slave)。
      

      I2C总线在传送数据过程中有三种类型信号:
     开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。     
     停止信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
     

     应答信号:接收数据的I2C器件在接收到8bit数据后,向发送数据的I2C器件发出特定的低电平脉冲,表示已收到数据。如CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。
      

mbed提供了I2C类来完成I2C主机功能。

第一次使用mbed的I2C,应答的地方不明白,读写LPC824lite板上的AT24c02 失败。

AT24c02的设备地址

写字节:

写页:

当前地址读

任意地址读

连续读

按照上面读写24c02,对于mbed的应答机制不太明白,读写失败。


评分

参与人数 1 +45 收起 理由
EEboard爱板网 + 45 3周发帖养成记 奖励

查看全部评分

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条