arduino I2C通讯代码
时间: 2024-08-22 09:01:51 浏览: 50
Arduino TOF10120_i2c_0401_tof_I2Carduino_TOF测距_
Arduino I2C通信是一种用于连接两个设备或模块之间并共享数据的标准总线通信方式,它基于Inter-Integrated Circuit (I2C)协议。在Arduino中,I2C通常通过Wire库来进行操作。
以下是一个简单的Arduino Uno板上使用I2C进行传感器读取的基本示例:
```cpp
#include <Wire.h> // 引入Wire库
// 定义I2C地址(在这里假设我们有一个地址为0x48的传感器)
#define DEVICE_ADDRESS 0x48
void setup() {
Wire.begin(); // 初始化I2C通信
Serial.begin(9600); // 打开串行通信以便于调试
}
void loop() {
int data; // 存储从传感器接收到的数据
Wire.requestFrom(DEVICE_ADDRESS, 1); // 发起从指定地址读取1字节数据的请求
if (Wire.available()) { // 如果有数据接收完成
data = Wire.read(); // 读取数据
Serial.println("Received Data: " + String(data)); // 打印数据到Serial端
}
delay(500); // 每次读取后等待一段时间
}
```
在这个例子中,你需要将`DEVICE_ADDRESS`替换为你实际设备的I2C地址。`Wire.requestFrom()`函数用于发送从地址读取数据的命令,然后检查`Wire.available()`是否有新数据可用,如果有则读取并处理。
阅读全文