Arduino系のボードで、やむをえずちょっと自力でハード叩こうとすると、ライブラリがどんな風にハードウェアを使っているかが問題になります。とりわけ、タイマは用途とモードが多岐にわたるので、要注意です。
GR-SAKURAに関しては、前にメモを書きました。
→「GR-SAKURAのタイマについて」
今日はGR-KURUMIに関してです。赤川さんの調査によると下表のようになっているそうです。
TM00 | PWM用マスタ |
TM01 | PWM3/Tone |
TM02 | PWM5 |
TM03 | PWM10 |
TM04 | PWM9/Servo |
TM05 | micros()カウンタ |
TM06 | Software PWM |
TM07 | PWM6 |
IT | Interval(1ms) |
RTC | RTC |
参考: ルネサスナイト5「随波逐流自由研究発表〜リベンジ! VirtualWire〜」
なんと全てのタイマをライブラリで使いきってるんですね。なので、独自にタイマを叩きたい場合は、ライブラリの機能のうち自分のアプリケーションで使用しないものを潰すしかありません。汎用的な自作ライブラリとして使いまわすつもりなら、なるべく重要度の低い機能を潰すべきでしょう。となると、やはりTM06のSoftware PWMかな。次いでTM03のPWM10あたりでしょう。(数あるPWMをひとつ潰すとしたらSPIやSerial2とピンを兼用してるPWM10。)