#include <Wire.h>
#include <HardwareSerial.h>
void setup() {
Wire.begin(1,2);//设置引脚 sda scl
Serial0.begin(115200);
while (!Serial0); // 等待串口连接
Serial0.println("I2C 扫描器开始...");
}
void loop() {
int error, address;
int nDevices = 0;
Serial0.println("扫描 I2C 设备...");
for (address = 1; address < 127; address++) {
// 尝试与设备通信
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0) {
Serial0.print("找到 I2C 设备在地址 0x");
if (address < 16) {
Serial0.print("0");
}
Serial0.print(address, HEX);
Serial0.println(" !");
nDevices++;
} else if (error == 4) {
Serial0.print("未知错误在地址 0x");
if (address < 16) {
Serial0.print("0");
}
Serial0.println(address, HEX);
}
}
if (nDevices == 0) {
Serial0.println("没有找到 I2C 设备");
} else {
Serial0.println("扫描完成");
}
delay(5000); // 每5秒扫描一次
}
I2C 扫描器 ESP32
于 2024-08-01 15:26:46 首次发布