ikkeiplexing shield のサンプルスケッチを追加しました。
スキャンするところをLoL Shield のライブラリを参考にライブラリ化しました。
その際、LoL ではMsTimer2を改造していたので、私はMsTimer2を利用する形にしました。
と言うのも、MsTimer2はデバイスに依存するところが多いので、
MsTimer2のアップデートはそちらに任せたいと思ったのです。
さらに、MsTimer2の中をよく見てみるとノーマルモードでタイマーを使用しています。
ノーマルモードでは、タイマーの再設定はソフトでするので、原理的に誤差が累積するのです。
AVRにはタイマーの再設定をハードで行い、誤差の累積が無いCTCモードが有るので、
これは、何か理由があって、あえてCTCモードを使っていないのではないかと考え、
ググってみました。
すると、MsTimer2はCTCモードを使っていると言う説明文が見つかったので、
おかしいと思って指摘してみました。
すると、すぐにCTCモードに修正して、MsTimer2の作者に連絡を取ってくれました。
今回は、これもサンプルに含めておきました。
そのサンプルスケッチはここからダウンロードして、解凍し、
arduino-0021/libraries フォルダの中に入れて下さい。
そして、サンプルスケッチは、メニューの Examples から選んで下さい。
スキャンするところをLoL Shield のライブラリを参考にライブラリ化しました。
その際、LoL ではMsTimer2を改造していたので、私はMsTimer2を利用する形にしました。
と言うのも、MsTimer2はデバイスに依存するところが多いので、
MsTimer2のアップデートはそちらに任せたいと思ったのです。
さらに、MsTimer2の中をよく見てみるとノーマルモードでタイマーを使用しています。
ノーマルモードでは、タイマーの再設定はソフトでするので、原理的に誤差が累積するのです。
AVRにはタイマーの再設定をハードで行い、誤差の累積が無いCTCモードが有るので、
これは、何か理由があって、あえてCTCモードを使っていないのではないかと考え、
ググってみました。
すると、MsTimer2はCTCモードを使っていると言う説明文が見つかったので、
おかしいと思って指摘してみました。
すると、すぐにCTCモードに修正して、MsTimer2の作者に連絡を取ってくれました。
今回は、これもサンプルに含めておきました。
そのサンプルスケッチはここからダウンロードして、解凍し、
arduino-0021/libraries フォルダの中に入れて下さい。
そして、サンプルスケッチは、メニューの Examples から選んで下さい。

※コメント投稿者のブログIDはブログ作成者のみに通知されます