GY-BNO055をUARTで使う

UARTの設定について

項目
ボーレート 115200
データ長 8ビット
パリティビット なし
ストップビット 1ビット

レジスタへの書き込み方法

以下の順でデータを送ります。

Byte 1 Start Byte 0xAA
Byte 2 Write 0x00
Byte 3 レジスタアドレス <..>
Byte 4 データバイト数 <..>
Byte 5 データバイト1 <..>
Byte n+4 データバイトn <..>

センサからの返り値は次のようになっていて、書き込みに成功したかを返します。

Byte 1 Response Header 0xEE
Byte 2 Status 以下の数値


0x01: 書き込み成功
0x03: 書き込み失敗
0x04: REGMAP_INVALID_ADDRESS
0x05: REGMAP_WRITE_DISABLED
0x06: WRONG_START_BYTE
0x07: BUS_OVER_RUN_ERROR
0X08: MAX_LENGTH_ERROR
0x09: MIN_LENGTH_ERROR
0x0A: RECEIVE_CHARACTER_TIMEOUT

レジスタからの読み出し

以下の順でデータを送ります。

Byte 1 Start Byte 0xAA
Byte 2 Read 0x01
Byte 3 レジスタアドレス <..>
Byte 4 データバイト数 <..>

センサからの返り値は2種類で、読み出しに成功したかと読み出した値を返します。

① 成功した場合は以下のパターンで値を返します。

Byte 1 Start Byte 0xBB
Byte 2 データバイト数 <..>
Byte 3 データバイト1 <..>
Byte n+2 データバイトn <..>


② 失敗した場合は以下のパターンで値を返します。

Byte 1 Response Header 0xEE
Byte 2 Status 以下の数値

0x02: READ_FAIL
0x04: REGMAP_INVALID_ADDRESS
0x05: REGMAP_WRITE_DISABLED
0x06: WRONG_START_BYTE
0x07: BUS_OVER_RUN_ERROR
0X08: MAX_LENGTH_ERROR
0x09: MIN_LENGTH_ERROR
0x0A: RECEIVE_CHARACTER_TIMEOUT