にほんブログ村 その他趣味ブログ 電子工作へ

2010年09月02日

Arduino の Wire ライブラリの高速化

モッパーです。

こちらの記事へのコメントで Reverse父様にご指摘頂いた、Arduino の Wire ライブラリのクロック高速化ですが、internet 上の情報から答えを見つけることが結構難しかったので、忘れないように書いておきます。(言われないと気付きませんでした。Reverse父様ありがとうございます !!!)

現時点の Wire ライブラリは I2C のクロックが 100Khz (標準モード)に固定されています。libraries\Wire\utility\twi.h に   #define TWI_FREQ 100000L という部分がありますので、この数字を変えるとクロックを変えることが出来ます。ただし、この方法だと I2C セッション毎にクロックを変えることが出来ません。

こちらの掲示板の2009/8/12 の書き込みにあるパッチを Wire ライブラリに当てると Wire.setSpeed(long unsigned int)というメソッドで任意のタイミングでクロックを変えることが出来るようになりました。(その他の修正や追加仕様も入っており互換性は保たれているようですが、まだきちんとした把握と確認は出来ていません。)
0017 用のパッチのようですが 0018 日本語版の Wire に当てても動いているようです。一応、以下に 0018 日本語版にパッチを当てたあとのソースコードを置いておきますが、動作について私は一切責任を持ちませんし、何か聞かれても答えることは出来ないと思います。解凍した後、libraries\Wire\ の下のファイルを置き換えてご使用下さい。

Arduino0018JAP_Wire_Patched.zip
posted by モッパー at 21:49| Comment(2) | TrackBack(0) | Arduino
この記事へのコメント
こんにちは。
ZEROです。
返信が遅くなってしまいすみません。
もちろんリンクしてください。
すごくいろいろされているようですね。
けっこうArduinoが流行っていますね。
僕は今までTJ3がベースでH8も全国のときは積んでました。
来年はマイコンで直接やりたいなと思っています。
うちのブログにもリンクしてもよろしいでしょうか。
Posted by e^πi+1(ZERO) at 2010年09月14日 19:36
e^πi+1(ZERO)様

モッパーです。

>すごくいろいろされているようですね。

いえいえ、世界3位のチームの方に書き込んで頂けるなんてとても光栄です!!!

>僕は今までTJ3がベースでH8も全国のときは積んでました。
>来年はマイコンで直接やりたいなと思っています。

マイコンで直接のほうが色々な面で自由度が高く、安くて良いですよね。頑張って下さいね !!!

>うちのブログにもリンクしてもよろしいでしょうか。

もちろんです。よろしくお願いします。
Posted by モッパー at 2010年09月15日 21:27
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/40501595
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
にほんブログ村 その他趣味ブログ 電子工作へ