0
点赞
收藏
分享

微信扫一扫

IIC通信学习

weipeng2k 2022-04-22 阅读 108
c语言

1.IIC简介 

IIC:Inter-Integrated Circuit(内部集成电路)

需要两个管脚:SDA、SCL

SPI协议:一个主设备对多个从设备,每增加一个从设备,需要增加一个端口CS*

特点:速度较快,1~100M

IIC协议:可以多对多,速度分类:100K  400K  3.4M   5M,传输速度没有SPI快,所以在利用显示屏显示数据时常用SPI通讯协议来提高刷新率。(TFT用SPI,LCD  OLED使用IIC协议就可以满足需求。)

 IIC使用时需要在SDA SCL上接上拉电阻,常用4.7K,电阻跟速度成反比,跟功耗成正比

2.IIC从设备地址查询

最多可以连接128个从设备

#include <Wire.h>

void setup()
{
  Serial.begin(9600);  //开启串口显示
  while (!Serial);
  Serial.println("\nI2C Scanner");

  Wire.begin();  // 开启I2C, 不写地址,就是主设备
  Wire.setClock(100000); //默认 100KHz
  Wire.setWireTimeout(3000, true);  // timeout (us,reset_on_timeout)
}


void loop()
{
  Serial.println("Scanning...");

  for (int i = 0; i < 128; i++ )
  {
    Wire.beginTransmission(i); // 准备向指定地址开始传输数据
    byte code = Wire.endTransmission(); //结束传输

    if (code == 0) //反馈0,代表收到回应,一切正常
    {
      Serial.print("Found: 0x");
      Serial.println(i, HEX);
    }

  }

  delay(5000);
}

举报

相关推荐

0 条评论