4.6 KiB
I2C
M5StackのGrove-Aポート(I2C)を制御するクラスです。 あらかじめ M5.Begin()でI2C通信が初期化されている必要があります。
writeCommand()
構文: bool writeCommand(uint8_t address, uint8_t subAddress);
説明:
指定のアドレスに書きこみます。 パラメータがない場合に使います。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| address | uint8_t |
スレーブアドレス |
| subAddress | uint8_t |
機能アドレス |
戻り値:
| 値 | 説明 |
|---|---|
| true | 送信成功。 |
| false | 送信失敗。 |
writeByte()
構文: bool writeByte(uint8_t address, uint8_t subAddress, uint8_t data);
説明:
指定のアドレスに書きこみます。 パラメータ1つある場合に使います。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| address | uint8_t |
スレーブアドレス |
| subAddress | uint8_t |
機能アドレス |
| data | uint8_t |
パラメータ |
戻り値:
| 値 | 説明 |
|---|---|
| true | 送信成功。 |
| false | 送信失敗。 |
writeBytes()
構文: bool writeBytes(uint8_t address, uint8_t subAddress, uint8_t *data,uint8_t length);
説明:
指定のアドレスに書きこみます。 パラメータが複数ある場合に使います。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| address | uint8_t |
スレーブアドレス |
| subAddress | uint8_t |
機能アドレス |
| data | uint8_t * |
パラメータ配列の先頭 |
| length | uint8_t |
パラメータ長 |
戻り値:
| 値 | 説明 |
|---|---|
| true | 送信成功。 |
| false | 送信失敗。 |
readByte()
構文: bool readByte(uint8_t address, uint8_t *result);
説明:
指定のアドレスから読み込みます。 読み込み前に送信するデータがなく、返答が1バイトの場合に使います。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| address | uint8_t |
スレーブアドレス |
| result | uint8_t * |
結果格納先 |
戻り値:
| 値 | 説明 |
|---|---|
| true | 読込成功。 |
| false | 読込失敗。 |
readByte()
構文: bool readByte(uint8_t address, uint8_t subAddress,uint8_t *result);
説明:
指定のアドレスから読み込みます。 読み込み前に送信するデータが機能アドレスのみで、返答が1バイトの場合に使います。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| address | uint8_t |
スレーブアドレス |
| subAddress | uint8_t |
機能アドレス |
| result | uint8_t * |
結果格納先 |
戻り値:
| 値 | 説明 |
|---|---|
| true | 読込成功。 |
| false | 読込失敗。 |
readBytes()
構文: bool readBytes(uint8_t address, uint8_t count,uint8_t * dest);
説明:
指定のアドレスから読み込みます。 読み込み前に送信するデータがなく、返答が複数ある場合に使います。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| address | uint8_t |
スレーブアドレス |
| count | uint8_t |
要求バイト数 |
| result | uint8_t * |
結果格納先 |
戻り値:
| 値 | 説明 |
|---|---|
| true | 読込成功。 |
| false | 読込失敗。 |
readBytes()
構文: bool readBytes(uint8_t address, uint8_t subAddress, uint8_t count, uint8_t * dest);
説明:
指定のアドレスから読み込みます。 読み込み前に送信するデータが機能アドレスのみで、返答が複数ある場合に使います。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| address | uint8_t |
スレーブアドレス |
| subAddress | uint8_t |
機能アドレス |
| count | uint8_t |
要求バイト数 |
| result | uint8_t * |
結果格納先 |
戻り値:
| 値 | 説明 |
|---|---|
| true | 読込成功。 |
| false | 読込失敗。 |
scanID()
構文: bool readBytes(bool *result);
説明:
I2Cバス上のデバイス存在確認をおこないます。
引数
| 引数 | 型 | 説明 |
|---|---|---|
| result | bool * |
結果格納先 (128バイト) |
戻り値:
| 値 | 説明 |
|---|---|
| true | 読込成功。 |
| false | 読込失敗。 |
使用例;
bool result[0x80];
M5.I2C.scanID(&result[0]);