1. 基本的な紹介
1、ADC クロック。
2、ADC チャネル。
ルールチャネルとインジェクションチャネルの違いはまだ完全には理解されていない、オンラインで説明
通常チャンネル:
通常実行中のプログラムと同等、
インジェクトチャネル:
これは、チャネルの挿入手順を実行するために、進行中のルールチャネルを中断する「中断」に相当します。注入チャネルの変換が完了したら、引き続き通常のチャネルの変換を完了します。
3. ADCトリガモード
ソフトウェアトリガーと外部トリガーに分けられます。
ソフトウェア トリガーとは、制御レジスタが ADC 変換をトリガーすることを意味します。
外部トリガー。変換は外部イベント (タイマー キャプチャ、 EXTI割り込みラインなど) によってトリガーでき、タイマー トリガーの使用は外部トリガーです。
トリガーソース
アドバンストタイマー tim1 の場合、tim8 には TRGO に加えて TRGO2 があります。
4. ADC変換時間
サンプルを取得するために必要なクロックの最小数。
サンプリング時間の設定が可能です。
5. ADC サンプリング周波数
サンプリング周波数 (タイマー トリガーを使用する場合など)。トリガー周波数は ADC のサンプリング周波数であり、ADC の変換時間によって最大サンプリング周波数が制限されます。
6. ADC 動作モード
ワンショット変換モード。シングル変換モードでは、ADC は 1 回の変換を実行します。
連続変換モード。連続変換モードでは、ADC は 1 つの変換が終了するとすぐに新しい変換を開始します。
2、stm32Cube IDE、ソフトウェアトリガーシングル測定設定
3、プログラム。
初期化、自動生成される初期化関数に加えて、ADC をオンにする関数も追加
HAL_ADC_Start(&hadc1);
テスト
uint32_t adc_value = HAL_ADC_GetValue(&hadc1);
参考記事:
(メッセージ数 3) [STM32] HAL ライブラリ - ADC_Yiyi L のブログ - hal ライブラリの CSDN blog_adc