• 検索結果がありません。

課題 4: ADC WCMP 割り込みによって Data Visualizer への

この課題では、ADCウィンドウ比較(WCMP)割り込みを使ってUARTターミナルとData Visualizer内の グラフへのADCデータ出力をトリガするアプリケーションを開発します。

ADC ウィンドウ比較機能を使うと、予め定義した方法で ADC 出力にフィルタを適用できます。この機 能は、ウィンドウ コンパレータ割り込みイネーブル(INTCTRL.WCOMP)ビットがセットされている時に 有効です。4 通りのウィンドウモード オプションを選択できます(値がウィンドウより小さい時、値がウ ィンドウより大きい時、値がウィンドウ内である時、値がウィンドウ外である時のいずれかで ADC結果 を出力)。このモードは、CTRLE.WINCMフィールドに書き込む事により設定します。ウィンドウ コンパ レータの下側および上側しきい値は、WINLT および WINHT レジスタで設定する必要があります。ADC 出力が利用可能となり、その値が設定したモードの条件を満たしている時にのみ ADC割り込みがトリガ されます。

最初に、Studio 内で Atmel | START を使って、課題 3 で使ったプロジェクトを再構成します。Atmel |

START では、結果準備完了(RESRDY)割り込みの代わりに WCMP 割り込みオプションを使って、ADC

ドライバを更新します。

5.1 Atmel START 内で ADC を再構成する

1. 課題3ATtiny817_getting_started_events プロジェクトを開きます。

2. [Solution Explorer] 内でプロジェクト名[ATtiny817_getting_started_events] を右クリックしてから [Re-Configure Atmel Start Project] を右クリックします。

3. 「Atmel | START」ウィンドウ内で、[ADC] コンポーネントをクリックします。

4. スクロールダウンして、図5-1の通りにADCを再構成します。変更項目は赤枠で示しています。

5-1. START内でADCを再構成する

5. 設定手順は以下の通りです。

[RESRDY: Result Ready Interrupt Enable] フィールドのチェックボックスをOFFにします。

[WCMP: Window Comparator Interrupt Enable] フィールドのチェックボックスをONにしま す(上で無効にしたRESRDY割り込みの代わりにWCMP割り込みを有効にする)。

[WINCM: Window Comparator Mode] ドロップダウン メニューから[Outside Window] を選択 します。

Training Manuals DS00002533A_JP - p. 42

© 2018 Microchip Technology Inc.

tinyAVR 1 シリーズのイベント処理入門

[WINLT: Window Comparator Low Threshold] フィールドに100 (16進値の0x64)を入力します。

6. ウィンドウの最下段にある[GENERATE PROJECT] ボタンをクリックする事により、Atmel Studio 内でプロジェクトを再生成します。図 5-2 に示す通り、[Project Summary]ウィンドウが開きます。

5-2. 再生成されたプロジェクト コード

7. driver_isr.c ファイルに対する[View Diff] (上図の赤枠内)をクリックする事で、Atmel | START によ る再生成前後のコードの違いを確認します。

5-3. driver_isr.c のView Diff

8. 図 5-2 では、main.c と driver_isr.c は選択していません。これらは、後で手動による変更が必要で す。

tinyAVR 1 シリーズのイベント処理入門

[OK] をクリックしてプロジェクトを再生成します。

Result:  Atmel | START プロジェクトは、更新された ADC ドライバを含めて、Atmel

Studio内で再生成されました。

5.2 Atmel Studio 内でアプリケーションを更新し、ADC データを Data Visualizer グラフ に出力する

To do:   driver_isr.c ファイル内のコードを更新します。

1. Atmel Studio 内 で driver_isr.c フ ァ イ ル を 開 い て 、ISR(ADC0_RESRDY_vect) 関 数 を ISR(ADC0_WCOMP_vect) 関数に置き換えます(下図の赤枠内)。

5-4. Driver_isr.cの更新

2. [Data Visualizer] タブをクリックし、ウィンドウの左側で[Configuration] タブを展開します。

下図の通り、[Visualization] をクリックし、[Graph] をダブルクリックします。

Training Manuals DS00002533A_JP - p. 44

© 2018 Microchip Technology Inc.

tinyAVR 1 シリーズのイベント処理入門

5-5. Data Visualizerグラフの選択

3. 図 5-6に示す通り、[Serial Port Control Panel] からグラフ ウィンドウ内の[New plot] までターミ ナル入力をドラッグします(赤矢印1)。次に、入力を[Points]として選択します(赤枠2)。

tinyAVR 1 シリーズのイベント処理入門

5-6. Data Visualizeグラフのデータ出力

4. [Debug] → [Start Without Debugging] を選択する事により、コードをプログラミングします。

5. ポテンショメータのノブを回し、グラフにプロットされるADCデータを観察します。

6. グラフ上のプロット点と[Terminal] に表示される ADC値(図 5-6内の赤枠3)が正しく対応してい る事を確認します。ADC値が100~200のレンジ内である場合、データはグラフにプロットされ ません。

Result:  Data VisualizerグラフにADCデータがプロットされます。

Training Manuals DS00002533A_JP - p. 46

© 2018 Microchip Technology Inc.

tinyAVR 1 シリーズのイベント処理入門

関連したドキュメント