初期化シーケンス(画像をクリックして拡大)
<説明>
1. モジュール初期化。「AG903_I2CMgrInit」
SCLは右の定義に従って設定されます。 AG903_I2C_DFLT_SCL , AG903_I2C_DFLT_GSR , AG903_I2C_DFLT_TSR
2. クロック設定。「AG903_I2CMgrSetClock」 ※上記初期値から変更しない場合は省略可能。
3. スレーブアドレス設定。「AG903_I2CMgrSetSlaveAddress」 ※自身がMasterである場合は省略可能。
注:コントローラに対するクロックの供給を予めシステムレジスタで設定しておく必要があります。詳細は『AX51903仕様書』参照。
Master Writeシーケンス(画像をクリックして拡大)
<説明>
1. ハンドル取得。「AG903_I2CMgrGetHandle」
2. コールバック関数登録。「AG903_I2CMgrSetCallback」
3. Write処理開始。「AG903_I2CMgrMasterWrite」 ※実行中であった場合はキューイングされます。
4. 指定サイズ分のWriteをし終えるまで、割込み要因に応じた処理を実行。
5. 指定サイズ分のWrite完了でコールバック。コールバック後にキューを確認。(空なら終了)
6. ハンドル解放。「AG903_I2CMgrReleaseHandle」
※Read処理について
送信シーケンスと同様です。使用する関数が AG903_I2CMgrMasterWrite から AG903_I2CMgrMasterRead に変わります。
Slave Writeシーケンス(画像をクリックして拡大)
<説明>
1. ハンドル取得。「AG903_I2CMgrGetHandle」
2. コールバック関数登録。「AG903_I2CMgrSetCallback」
3. Write処理開始。「AG903_I2CMgrSlaveWrite」 ※キューイングされます。
4. Masterからのクロック入力及びスレーブアドレスの一致でデータをWriteします。
5. 指定サイズ分のWriteをし終えるまで、割込み要因に応じた処理を実施。
6. 指定サイズ分のWrite完了でコールバック。コールバック後にキューを確認。(空なら終了)
7. ハンドル解放。「AG903_I2CMgrReleaseHandle」
※Read処理について
送信シーケンスと同様です。使用する関数が AG903_I2CMgrSlaveWrite から AG903_I2CMgrSlaveRead に変わります。