Internet, Windows, Linuxの最新技術をやさしく解説

  • concrete5
  • VirtualBox
  • Bootstrap
  • RaspberryPi
  • Arduino
  • Kindle
  • Pdic

ESP-8266(ESP-WROOM-02/32,ESP-01)の実験 > I2Cのアドレスを調べる方法

I2Cのアドレスを調べる方法

 以下のプログラムを実行すれば、シリアルコンソールに表示されます。

#include <wire.h>

#define SDA 4
#define SCL 5 void setup() { Serial.begin(115200); Wire.begin(SDA, SCL);
Serial.println(" 0 1 2 3 4 5 6 7 8 9 A B C D E F"); for (byte n = 0; n <= 0x7F; n++) { // I2Cアドレスを指定 adrCheck(n); // デバイス有無を調べ結果を出力 } Serial.println(); } void loop() { } void adrCheck(byte adr) { byte dummy;
if ((adr & 0x0F) == 0) {
print_hex2chr(adr);
Serial.print(":"); } Serial.print(" ");
if (adr < 8 || adr > 0x77) {
Serial.print("xx");
} else {
Wire.beginTransmission(adr); Wire.write(&dummy, 0); if (Wire.endTransmission() == 0) {
print_hex2chr(adr);
} else { Serial.print("--");
} } if ( (adr & 0x0F) == 0x0F) {
Serial.println(); } } void print_hex2chr(byte x) {
Serial.print((x >> 4), HEX);
Serial.print((x & 0x0F), HEX);
}
ESP-8266(ESP-WROOM-02/32,ESP-01)の実験 > I2Cのアドレスを調べる方法

ツイート
このエントリーをはてなブックマークに追加
  

Theme Made by Enrique Ramírez for Smashing Magazine. Powered by Concrete5
© 2019 tomoのconcrete5. All rights reserved. ログイン