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

254行目: 254行目:
* 両エッジ
* 両エッジ
*: 入力信号の両エッジでキャプチャする。
*: 入力信号の両エッジでキャプチャする。
<br><br>
== Timer_A2モジュール ==
==== Timer_A2モジュールとは ====
MSP430G2553マイコンには、Timer_A2という16ビットのタイマ / カウンタモジュールが搭載されている。<br>
このTimer_A2モジュールは、2つのキャプチャ / 比較レジスタ (CCR0、CCR1) を備えており、それぞれがタイマA0 (TA0) とタイマA1 (TA1) として機能する。<br>
<br>
==== Timer_A2モジュールの設定 ====
Timer_A2モジュールの設定は、以下に示すレジスタを使用して行う。<br>
<br>
Timer_A2モジュール共通<br>
* TACTL
*: タイマAの制御レジスタ
<br>
Timer_A2モジュールのタイマA0の設定<br>
* TACCTL0
*: キャプチャ / 比較制御レジスタ0
* TACCR0
*: キャプチャ / 比較レジスタ0
<br>
Timer_A2モジュールのタイマA1の設定<br>
* TACCTL1
*: キャプチャ / 比較制御レジスタ1
* TACCR1
*: キャプチャ / 比較レジスタ1
<br>
上記のレジスタを適切に設定することにより、目的に応じたTimer_A2モジュールの動作を実現することができる。<br>
<br>
Timer_A2モジュールは、PWM信号の生成、外部信号のエッジ検出とキャプチャ、一定間隔でのイベント処理等、様々な用途に使用することができる。<br>
<br>
==== タイマA0 (TA0) ====
キャプチャ / 比較レジスタ0 (TACCR0) を使用する。<br>
<br>
===== 動作モード =====
* アップモード
*: カウンタが<code>0</code>からTACCR0レジスタに設定した値まで増加して、TACCR0に設定した値に達するとカウンタが<code>0</code>に戻る。
* 連続モード
*: カウンタが<code>0</code>から<code>FFFFh</code>まで増加して、<code>FFFFh</code>に達すると<code>0</code>に戻る。
* アップ / ダウンモード
*: カウンタが<code>0</code>からTACCR0レジスタに設定した値まで増加して、TACCR0レジスタに設定した値に達するとTACCR0に設定した値から<code>0</code>まで減少する。
<br>
===== 割り込み =====
* TACCR0と比較一致割り込み (CCIFG)
* カウンタオーバーフロー割り込み (TAIFG)
<br>
==== タイマA1 (TA1) ====
キャプチャ / 比較レジスタ0 (TACCR1) を使用する。<br>
<br>
===== 動作モード =====
* アップモード
*: カウンタが<code>0</code>からTACCR1レジスタに設定した値まで増加して、TACCR1レジスタに設定したに達するとカウンタが0に戻る。
* 連続モード
*: カウンタが<code>0</code>から<code>FFFFh</code>まで増加して、<code>FFFFh</code>に達すると<code>0</code>に戻る。
* アップ / ダウンモード
*: カウンタが<code>0</code>からTACCR1レジスタに設定した値まで増加して、TACCR1レジスタに設定した値に達するとTACCR1レジスタの値から<code>0</code>まで減少する。
<br>
===== 割り込み =====
* TACCR1と比較一致割り込み (CCIFG)
* キャプチャ割り込み (CCIFG)
<br>
===== キャプチャモード (タイマA1のみ) =====
* 立ち上がりエッジ
*: 入力信号の立ち上がりエッジでキャプチャ
* 立ち下がりエッジ
*: 入力信号の立ち下がりエッジでキャプチャ
* 両エッジ
*: 入力信号の両エッジでキャプチャ
<br>
==== タイマA0 / タイマA1共通 ====
===== クロックソース =====
* TACLK
*: 外部クロック信号を使用
* ACLK
*: 補助クロック (32.768[kHz]) を使用
* SMCLK
*: サブメインクロック (最大16[MHz]) を使用
* INCLK
*: 内部クロック (DCOCLK) を使用
<br>
===== クロック分周 =====
<code>1</code>、<code>2</code>、<code>4</code>、<code>8</code>分周が可能である。<br>
<br>
===== 出力モード =====
* 比較モード
*: TACCRxとの比較一致に基づいて出力信号の状態を変更する。
* セットアップモード
*: TACCRxとの比較一致でセット、カウンタの再スタートでリセットする。
* トグルモード
*: TACCRxとの比較一致で出力信号をトグルする。
* リセットモード
*: TACCRxとの比較一致でリセット、カウンタの再スタートでセットする。
<br><br>
<br><br>