現在mbedでi2c通信を試みているのですが、サンプルコードの中での読み込み要求がどうなっているのかがわかりません。
例えば以下の様な例です。
#include "mbed.h" I2C i2c(p9, p10); // sda, scl Serial pc(USBTX, USBRX); // tx, rx const int addr = 0x70; // define the I2C Address int main() { char cmd[2]; while(1) { cmd[0] = 0x0; // pointer to command register cmd[1] = 0x51; // Start ranging, results in cm i2c.write(addr, cmd, 2); // Send command string wait(0.07); // Could also poll, 65ms is typical // Set pointer to location 2 (first echo) cmd[0] = 0x2; i2c.write(addr, cmd, 1); i2c.read(addr | 1, cmd, 2); // read the two-byte echo result // print the ranging data to the screen float echo = 0.01 * ((cmd[0] << 8) + cmd[1]); pc.printf("Range = %.2f\n", echo); wait(0.1); } }
このコードにおけるcmd[]の中身の意味が分かりません。
I2C通信自体の知識は上記のサイトや他のサイトである程度勉強しました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/22 04:49
2019/12/22 13:54