skyeltdsan skyeltdsan
关注数: 0 粉丝数: 6 发帖数: 25 关注贴吧数: 22
求助,esp32cam扫不到iic设备怎么办 #include <Wire.h> void setup() { Wire.begin(); // 初始化 I2C 总线 Serial.begin(115200); // 初始化串口通信,波特率为 115200 Serial.println("\nI2C 扫描器"); // 输出提示信息 } void loop() { byte error, address; // 定义变量 error 和 address,类型为 byte int nDevices; // 定义变量 nDevices,类型为 int Serial.println("扫描中..."); // 输出提示信息 nDevices = 0; // 初始化 nDevices 为 0 for(address = 1; address < 127; address++ ) { // 遍历 I2C 地址 Wire.beginTransmission(address); // 开始传输数据 error = Wire.endTransmission(); // 结束传输数据,并返回传输状态 if (error == 0) { // 如果传输状态为 0,表示找到了 I2C 设备 Serial.print("在地址 0x"); // 输出提示信息 if (address<16) { Serial.print("0"); // 如果地址小于 16,前面补 0 } Serial.println(address,HEX); // 输出 I2C 设备地址 nDevices++; // 统计找到的 I2C 设备数量 } else if (error==4) { // 如果传输状态为 4,表示未知错误 Serial.print("在地址 0x"); // 输出提示信息 if (address<16) { Serial.print("0"); // 如果地址小于 16,前面补 0 } Serial.println(address,HEX); // 输出 I2C 设备地址 } } if (nDevices == 0) { // 如果没有找到 I2C 设备 Serial.println("未找到 I2C 设备\n"); // 输出提示信息 } else { // 如果找到了 I2C 设备 Serial.println("扫描完成\n"); // 输出提示信息 } delay(5000); // 延时 5 秒钟 } 这段代码烧进去以后显示未找到i2c设备 我把sda线插在io14,scl插在io15 基本的hello world 代码烧进去后lcd1602屏会亮,但是不显示内容
1 下一页