「ATmega328でのタイマとPWMの使用方法」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
352行目: 352行目:
== タイマ2のレジスタ設定 ==
== タイマ2のレジスタ設定 ==
タイマ2の設定レジスタであるTCCR2Aの設定を下表に示す。<br>
タイマ2の設定レジスタであるTCCR2Aの設定を下表に示す。<br>
<center>
{| class="wikitable"
! colspan="10" | TCCR2A タイマ2設定レジスタ
|-
|
! colspan="2" | PWM出力方法(コンペアマッチA)<br>出力ピン : OCR2A
! colspan="2" | PWM出力方法(コンペアマッチB)<br>出力ピン : OCR2B
! 設定なし
! 設定なし
! colspan="3" | タイマのモード設定(一部)
|-
! ビット名
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0 ||
|-
! レジスタ名
| COM2A1 || COM2A0 || COM2B1 || COM2B0 || - || - || WGM21 || WGM20 ||
|-
! 波形出力なし
| 0 || 0 || 0 || 0 || - || - || 0 || 0 || 標準
|-
! コンペアマッチで出力が反転
| 0 || 1 || 0 || 1 || - || - || 1 || 0 || CTC
|-
! コンペアマッチでLow出力
| 1 || 0 || 1 || 0 || - || - || 0 || 1 || 位相基準PWM
|-
! コンペアマッチでHigh出力
| 1 || 1 || 1 || 1 || - || - || 1 || 1 || 高速PWM
|}
</center>
<br>
<center>
{| class="wikitable"
! colspan="9" | TCCR2B タイマ2設定レジスタ
|-
|
! colspan="2" | OCR2AおよびOCR2Bの強制変更
! 設定なし
! 設定なし
! タイマモード設定(一部)
! colspan="3" | クロック分周の設定
|-
! ビット名
| 7 || 6 || 5 || 4 || 3 || 2 || 1 || 0
|-
! レジスタ名
| FOC2A || FOC2B || - || - || WGM22 || CS22 || CS21 || CS20
|-
! 役割
| colspan="2" | 強制コンペアマッチ<br>(非PWMモードのみ)
| - || - || 下で説明する
| colspan="3" | クロック分周の選択
|}
</center>
<br>
<center>
{| class="wikitable"
! colspan="5" | WGMの役割 タイマモード設定
|-
! WGM22 !! WGM21 !! WGM20 !! 動作モード !! TOP
|-
| 0 || 0 || 0 || 標準 || 0xFF
|-
| 1 || 0 || 0 || 予約 || -
|-
| 0 || 0 || 1 || 8bit位相基準PWM || 0xFF
|-
| 1 || 0 || 1 || 位相基準PWM || OCR2A
|-
| 0 || 1 || 0 || CTC || OCR2A
|-
| 1 || 1 || 0 || 予約 || -
|-
| 0 || 1 || 1 || 8bit高速PWM || 0xFF
|-
| 1 || 1 || 1 || 高速PWM || OCR2A
|}
</center>
<br>
<center>
{| class="wikitable"
! colspan="4" | クロック分周の設定
|-
! 設定 !! CS22 !! CS21 !! CS20
|-
! ビット名(TCCR2B)
| 2 || 1 || 0
|-
! タイマ停止
| 0 || 0 || 0
|-
! 分周なし
| 0 || 0 || 1
|-
! 分周 1 / 8
| 0 || 1 || 0
|-
! 分周 1 / 32
| 0 || 1 || 1
|-
! 分周 1 / 64
| 1 || 0 || 0
|-
! 分周 1 / 128
| 1 || 0 || 1
|-
! 分周 1 / 256
| 1 || 1 || 0
|-
! 分周 1 / 1024
| 1 || 1 || 1
|}
</center>
<br><br>
<br><br>