I2C の動作タイミングの問題 以下のソースコードの twi_delay() を書き換えて使うこと。 c:/Users/tera58/AppData/Roaming/Arduino15/packages/esp8266/hardware/esp8266/1.6.5-947-g39819f0/cores/esp8266/core_esp8266_si2c.c static void twi_delay(unsigned char v){ uint32_t start = micros() ; while(1) { if( ( micros() - start ) > v ) { break ; } yield(); } } こっちでも動く。 static void twi_delay(unsigned char v){ delayMicroseconds(12); } じつは、これをやるまえに、 twi_setClock(0) として I2C バスが最も遅いタイミングで動かしても駄目。 extern unsigned char twi_dcount ;twi_dcount = 200 ; としてもっと遅くしても駄目だった。