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)】

【ライブラリ】

【関連投稿】
Microchip AVR8 用のライブラリを自作する。(GPIO)
Microchip AVR8 用のライブラリを自作する。(FUSE)
Microchip AVR8 用のライブラリを自作する。(CLOCK)
Microchip AVR8 用のライブラリを自作する。(RESET)
Microchip AVR8 用のライブラリを自作する。(PORTMUX)
Microchip AVR8 用のライブラリを自作する。(USART)
Microchip AVR8 用のライブラリを自作する。(RTC)
Microchip AVR8 用のライブラリを自作する。(TCA)
Microchip AVR8 用のライブラリを自作する。(TCB)
Microchip AVR8 用のライブラリを自作する。(VREF)
Microchip AVR8 用のライブラリを自作する。(DAC)
Microchip AVR8 用のライブラリを自作する。(AC)
Microchip AVR8 用のライブラリを自作する。(ADC)
Microchip AVR8 用のライブラリを自作する。(ZCD)
Microchip AVR8 用のライブラリを自作する。(SPI)
Microchip AVR8 用のライブラリを自作する。(TWI)
Microchip AVR8 用のライブラリを自作する。(YIELD)
Microchip AVR8 用のライブラリを自作する。(CONFIG)