아두이노 I2C 스캔 |
|||||
---|---|---|---|---|---|
작성자 | 이희준 | 등록일 | 19.11.06 | 조회수 | 1019 |
#include <Wire.h>
void setup() { Wire.begin();
Serial.begin(9600); while (!Serial); // Leonardo: wait for serial monitor Serial.println("\nI2C Scanner"); }
void loop() { byte error, address; int nDevices;
Serial.println("Scanning...");
nDevices = 0; for(address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); error = Wire.endTransmission();
if (error == 0) { Serial.print("I2C device found at address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !");
nDevices++; } else if (error==4) { Serial.print("Unknown error at address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan } |
이전글 | I2C LCD 라이브러리 |
---|---|
다음글 | 함수, 조건문, 1차원배열 정답 |