【通信方式】I2C总线

本文介绍了I2C总线的基本概念,包括由荷兰Philips公司推出的I2C Bus,其通信速率和端口特性。内容涵盖I2C的应答机制、器件地址分配,以及I2C总线的两条主要线路SDA和SCL的功能。此外,还探讨了I2C的时序图和使用GPIO模拟I2C程序的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、I2C相关介绍

  • I2C由 荷兰Philips(飞利浦) 公司推出
  • I2C Bus——Inter-Integrated Circuit 即集成电路总线
  • 速率:普通模式 - 100Kbps;高速模式 - 400Kbps
  • I2C总线端口为漏开结构,因此一般需要加上拉电阻Rp,通常选用5K~10KΩ
  • I2C总线以字节为单位收发数据,一个字节为一帧,数据传输的次序为从最高位到最低位
  • I2C应答位遵循“谁接收谁产生”的原则
  • 若还需要继续接收就需要产生应答位
  • I2C器件地址的分配由I2C总线委员会协调确定

I2C器件的从机地址由4位器件地址,2~3位引脚地址和1位方向位(读写位)【0写1读】

  • 以AT24cxx芯片为例:
    在这里插入图片描述

I2C由 数据线(SDA)与时钟线(SCL)组成

  • SDA:Synchronous Data Adapter (同步数据衔接器)
  • SCL:Serial Communication Loop(串行通讯环路)

二、I2C时序图

在这里插入图片描述

三、GPIO简单模拟I2C程序

//产生IIC起始信号
void IIC_Start(void)
{
   
   
	SCL = 1;
	SDA = 1;     //首先SDA、SCL为高电平
	delay_us(5); //起始条件建立时间大于 4.7us
	SDA = 0;     //START:when SCL is high,SDA change form high to low 
	delay_us(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值