arduinoめも
今さらだけど、arduinoってなんだっけとか、タイマとか割り込みってどうなってるんだっけ、とか気になるのでめも。
arduinoは、AVRに基板とIDEをセットにしたものみたい。
AVRのことではなかった。ハードはなんとオープンソース。
だからびんぼうでいいのとかできるんだね。
タイマーは、AVR自体はtimer0,1,2あるんだけど、arduinoでは、
MsTimer2 → ms
TimerOne → us
でアクセスするらしい。あれ?timer0は??
タイマの関数の引数に呼び出す関数を入れるみたい。
ちなみに割り込みベクタは固定。優先度高い順に、timer2,1,0。
タイマとピンの対応はこちらを参考にさせていただく。
そうそう、◯◯といえば : Arduino の PWM と タイマーと tone() 関数
IOアクセスが遅そうというのはその通りで、ここで調べてる方がいた。
digitalWriteおそい。でも144kHzでるなら、往復7usくらいなので普通は問題ないかも。
どうしたら良いかというと、digitalWrite使わずに、レジスタ直接書き換えたらいい。
というか、こちらの方がわかりやすいと思うのは自分だけではないはず。。
ならタイマもレジスタ書けばいろいろできるんでは。
と思ったら、ものすごくわかりやすくまとめてるところがあった。感謝。
こちらも参考に。
タイマ割り込みのこと忘れてた。ここを参照させてもらお。
makers-with-myson.blog.so-net.ne.jp
割り込み要因はこちらで。