「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



例のMsTimer2の精度の件。

こういうのは時間がちゃんと取れるときでもないと
ろくな調査にならないんだけど、やっぱ少しくらい
は見ておきたいな…と思ってArduinoのコアソースを
ちょっと眺めてみる。

arduino-0021\hardware\arduino\cores\arduino
 ↑ここの中

main.cppからWProgram.h→wiring.cと順に追っていくと、
その中に

SIGNAL(TIMER0_OVF_vect)

っていう割り込みベクタ内の処理を定義する関数が
出てきて、そこでミリ秒単位の経過時間と、
fract(端数?)という変数の処理をしてて、多分
ここがarms22さんからご指摘のあった調整部分って
ことのように見えるんだけど、ここだけ読んでも
処理の意味がイマイチ…


コアのソースコード全体についてtimer0関係のタグで
テキストサーチを掛けてみると、millis()関数以外にも
やっぱアレコレ使ってて、それらもちょっと念頭に置いて
置かないとイカンだろうな。tone()とかanalogWrite()とか 。

まぁ、調べないといけないそのモノはtimer2の方なので、
底なし沼に入り込まないうちにそっちにちゃんと
戻らないとね。それに調べるだけじゃぁアウトプットに
繋がらないから、そこそこにしないと。

また続きは後で。



コメント ( 0 )