Microchip AVR8 用のライブラリを自作する。(TCB)

TCBは起動時からの経過時間とPWM8モードに対応。

しかし...PWM8モードにはハマッた。CCMPレジスタの読み込みがおかしい。CCMPレジスタは書き込み(16ビット)のみにしたほうが良さげ。バグかな?

ちなみに、TCBの分周器はTCAやTCEのクロックを使わなければ2分周しかできないのでPWM8モードの周波数は20MHzなら約39KHz、16MHzなら約31KHz以上の周波数にしか対応できないことに注意するべし。赤外線リモコン用(38KHz)の出力として使うにはクロックは16MHzに設定する必要がある。

HW割込みを使うには、
[avr8_config.h] #define CONFIG_TCB_ISR 1
の設定が必要となる。

【サンプルコード (Microchip Studio)】

【ライブラリ】