i2cの遅さについて

 

この、ブラックジャックに出てくる犬って「ラルゴ」っていう名前なんですよ。

イタリア語の”largo”が起源で、「幅広く緩やかに」という音楽記号でもあります。

物語中でも、ずっとグータラしたトロイ犬でしたよね。

というような
そんなことはどうでもよく、

先日、i2cの遅さに驚いたような気がしました。

AVRを使ってロボットをつくっていたところ、何故かたまに自動的にリセットがかかります。

それがなぜかとずっと考えて試行錯誤していたのですが、
i2c通信中に内部でインクリメントし続けた値をuartでPCに転送していたら、なんと25000ループ程度かかっていました。

これがどんなぐらい遅いのか、正直わからないんですが……
一秒間に20000000回しか計算できないAVR君にとっては大きい数字の気がします。
タイマーで綺麗に計ってみればいいんですがなんとなくそんなことのために大切な30分を割くのももったいない気がして……やっていません。

うーん……もしかするとこれでコードが抜けかかったりしてさらに転送が遅くなったときにウォッチドッグタイマが働くのかもしれない
と思いました。

SPIなら速度は100倍らしいのでそっちの方のプログラムもつくってみようかな
P.S.AVRのオーバークロックについてご存じの方いらっしゃいませんか?ある尊敬するOBの方が昔25MHzでやっていたらしいです。ご存じの方いらっしゃいましたら教えていただけると幸いです。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>