2023/08/21(月)Arduino Nano Everyの挙動

自分用のメモ。
Arduino Nano Everyになってから、UNO R3と違ってタイマ/カウンタが盛りだくさんになった。
その挙動を調べていて使ってるところ使ってないところなどの確認。

とりあえず起動時のTCA0周りを一覧
TCA0.SINGLE.INTCTRL = 0b0
TCA0.SINGLE.CTRLA = 0b1011
TCA0.SINGLE.CTRLB = 0b11
TCA0.SINGLE.CTRLC = 0b0
TCA0.SINGLE.CTRLD = 0b0
TCA0.SINGLE.CTRLECLR = 0b0
TCA0.SINGLE.CTRLESET = 0b0
TCA0.SINGLE.CTRLFCLR = 0b0
TCA0.SINGLE.CTRLFSET = 0b0
TCA0.SINGLE.EVCTRL = 0b0
TCA0.SINGLE.INTCTRL = 0b0
TCA0.SINGLE.PER = 255
TCA0.SINGLE.CMP0 = 128
TCA0.SINGLE.CMP1 = 128
TCA0.SINGLE.CMP2 = 128
TCA0.SINGLE.CTRLCなのですが、起動時は0b0だがtone()実行中は0b111になっています。
比較一致(Compare) CMP2OV CMP1OV CMP0OV 出力ですね。なぜ全部?

あと、この記事がすごく役立ちました。
@CoTechWorks さん
Arduino Nano Everyのタイマー割り込み機能について

この記事を参考に進めています。