AVR用のコンパクト&高速なI2Cライブラリの改良版

以前紹介したライブラリの改良版を作成してみた。

AVR用のコンパクト&高速なI2Cライブラリの実験

クラス名変更と標準Wireクラスの準互換ラッパークラスを追加。16MHz動作で最大1MBPS弱の速度がでるのに加えプルアップ抵抗が必要ないのでちょっとした実験などにも便利に使えると思う。
省メモリ重視ならSimpleWireクラスを直接使い、Arduinoの互換性重視ならTwoWireクラスをインスタンス化して使えば良いだろう。
ちなみにTwoWireクラスはArduino標準Wireライブラリのクラス名と同じであることに注意すべし。同じ名前にする必要もなかったのだが名前考えるが面倒だったのでついつい...

【仕様】
・SDA/SCLは任意のピンに割当可能。(プルアップ抵抗なしでOK)
・クロックは100KHz/400KHz/1MHzに対応。
・7ビットアドレスのみ対応。
・転送データ長は最大255バイト。
・シングル・マスターモード専用。(アービトレーションなし)
・リピーテッド・スタート非対応。(シングルマスターモード専用なのでそもそも意味がない)
・クロック・ストレッチ非対応。(速度優先)

【ライブラリ】

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください