連続AD変換完了時割り込みアプリ【STM32のADC】

AD変換と割り込みの組み合わせの紹介プログラムです。AD変換完了のたびに割り込みが発生することになっていて、このままでは割り込みの頻度が多すぎるため実用的ではないですが学習向けとして割り込みを理解してください。

めかのとろ

AD変換完了時に割り込みを発生させて、割り込みハンドラ内の処理で変換値を取得して、100msサイクルで取得値をモニター表示するプログラムです。ADC1の割り込みハンドラはADC1_2_IRQHander関数です。

めかのとろ

変換完了時に割り込みを使用する例を示したプログラムです。
サンプルプログラムでは割り込み発生原因の確認ADC_GetITStatus関数を使って変換完了フラグADC_IT_EOCの状態をチェックしています。

割り込みステータスの実行例:
if(ADC_GetITStatus(ADC1, ADC_IT_EOC) != RESET){
ADC_ClearITPendingBit(ADC1, ADC_IT_EOC);
  [割り込み時の処理]
}

第1引数設定対象ADCを指定します。
■ 設定対象ADC : ADC1 – ADC3

第2引数有効にする割り込みを下記いずれかのマクロで指定します。

第3引数有効か無効を指定します。
■ ENABLE : 有効
■ DISABLE : 無効

めかのとろ

サンプルプログラムはAD変換と割り込みの組み合わせの紹介です。AD変換完了のたびに割り込みが発生することになっていて、このままでは割り込みの頻度が多すぎるため、実用的なものにするには割り込み頻度を減らすなどの一工夫が必要です。

Follow me!