ATtiny13AでUART-I2Cブリッジの製作 - まずその準備2
まずは、自分がI2Cマスターで、I2Cバスに接続しているスレーブデバイスに
対してのコマンドを実装するものとします。
実際のシリアル通信によるコマンドは下記のものとします。
テキストコマンドとなります。
1)I2C初期化 @@
2)1ビット送信 @o[B]
3)1ビット受信 @i[M]
4)スタートビット送信 @s
5)ストップビット送信 @e
6)1バイト送信 @w[C]
7)1バイト受信 @r[A]
[C]は16進数 '00' 〜 'FF'
[A]は1バイト受信時のデバイスへのAck送信の値
一方、私が使っている秋月電子で購入した、
I2C接続キャラクタLCDモジュール(16x2行)のI2Cのコマンドは次のような
フォーマットとなります。

これを定義したシリアル通信のコマンドに置き換えると、先頭から
@s :スタートビット送信
@wA0 :アドレス'A0' 1バイト送信
@i0 :Ackビット 1ビット受信(応答受信不要)
@w00 or w80 :コントロールバイト1バイト送信 '00':コマンド送信 '80' データ送信
@i0 :Ackビット 1ビット受信(応答受信不要)
@wNN :コマンドまたはデータとして 1バイトデータ送信
@i0 :Ackビット 1ビット受信(応答受信不要)
@e :ストップビット送信
となります。
1バイト送るのにこの長さはちょっと効率悪いですね。
本来8ビット送信毎にスレーブからちゃんと送れたのか応答Ackビットの値を受け取って
エラー対応を行う必要があるのですが、当面は未実装で行きます。
@dA041
とか短縮コマンドも用意したいと思います。
また、直前のI2Cアドレスに送信といった具合に
短縮コマンドも用意したいと思います。
シリアル接続の相手がOFFになったりと異常対応も必要かもしれません。
取りあえず、ウオッチドックタイマを使ってセルフチェックして自己復旧(リセット)できる
ようにはしたいです。
今日はここまでとします。
関連記事
LPC810を使ったUART-I2Cブリッジの改良版が出来ました (16/07/21)
LPC810を使ったUART-I2Cブリッジの機能拡張の検討中 (16/07/13)
UART-I2Cブリッジの使い方 - リアルタイムクロックの調査 (15/05/17)
Wiiヌンチャクの動作確認しました (15/05/17)
LPC810を使ったUART-I2Cブリッジがやっと出来ました (15/04/15)
ATtiny13AでUART-I2Cブリッジを試作したが微妙 (15/03/29)
ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 (15/03/26)
ATtiny13AでUART-I2Cブリッジの製作 - まずその準備2 (15/03/25) [この記事です]
ATtiny13AでUART-I2Cブリッジの製作 - まずその準備 (15/03/24)
公開・ダウンロードサイト
GitHub - LPC810 UART-I2Cブリッジモジュール
« ATtiny13AでUART-I2Cブリッジの製作 - まずその準備 | トップページ | ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 »
「arduino」カテゴリの記事
- Freenove Mecanum ホイール カー キットを購入しました(2025.05.28)
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
「AVR」カテゴリの記事
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
- Arduino用SJIS漢字フォントライブラリ SDカード版を作成しました(2018.10.30)
- ATtiny13AでI2C接続キャラクタLCDを利用する(4)(2018.04.16)
- ATtiny13Aで赤外線リモコン受信センサーを使う(2)(2018.04.15)
- ATtiny13AでHC-SR04を使った距離計測(2018.04.14)
「ATtiny13A」カテゴリの記事
- ATtiny13AでI2C接続キャラクタLCDを利用する(4)(2018.04.16)
- ATtiny13Aで赤外線リモコン受信センサーを使う(2)(2018.04.15)
- ATtiny13AでHC-SR04を使った距離計測(2018.04.14)
- Arduino 1.8.5環境でATtiny13Aを利用する(2018.04.14)
- Arduino IDEを使ったATtiny13用スケッチの開発について(2016.08.30)
« ATtiny13AでUART-I2Cブリッジの製作 - まずその準備 | トップページ | ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 »

コメント