« nuvi 1360壊れた(壊した) | ホーム | 引っ越しました。 »

2018年9月 2日

I2C アドレススキャン

やっぱり、ひどいことになりましたね、ソース表示、いいの見つけられなくて、ベースが古いのもあるけど
OSも古いし(^^;
修正する、気力ないし、引っ越しさきの表示が見やすいので、このままとします
----------
/* this program is to detect IC2 device connected to Arduino
Arduino 日本語リファレンス
http://www.musashinodenpa.com/arduino/ref/
*/
#include

char adrString[8];
void SerialPrintHex(byte iAdr,char *fmt = " %.02X") {
sprintf(adrString, fmt, iAdr);
Serial.print(adrString);
}

void setup() {
Wire.begin();

// Open serial communications and wait for port to open:
Serial.begin(57600);
Serial.println("\nI2C Address ");
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
}

void loop() {
byte error, address;
int nDevices = 0;

Serial.print("Scanning...\n ");
for(address = 0; address < 16; address++ ) SerialPrintHex( address,"%3x" );
for(address = 0; address <= 0x78; address++ ) {
if(! (address % 16)) SerialPrintHex( address, "\n%.02X:" );
if(address < 8) { Serial.print(" "); continue; }
// 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) Serial.print((error==4)?" ??":" -");
else {
SerialPrintHex( address, " %.02X" );
nDevices++;
}
}
if (nDevices) Serial.println("\ndone\n");
else Serial.println("\nNo I2C devices found\n");

delay(5000); // wait 5 seconds for next scan
}

コメントする

OpenID対応しています OpenIDについて

この記事について

このページは、なおたんが2018年9月 2日 05:35に書いた記事です。

ひとつ前の記事は「nuvi 1360壊れた(壊した)」です。

次の記事は「引っ越しました。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。