AD変換
https://gyazo.com/999c838311fb9137b25b89d42e33049c
table:ADC設定
ADCs_Common_Settings
Mode independent mode 独立モードで動く、その他速度を上げるDualModeがある
ADC_Settings
Data Alignment 右詰め、左詰め データの詰め方
Scan Coversion Enable,Disable 一回のシーケンスですべてのCHを変換するかどうか
Continuos Conversion Mode Enable,Disable 連続変換
Discontinuos Conversion Mode Enable,Disable 不連続変換
ADC_Regular_CnversionMode
Enable Regular Conversion Enable/Disable レギュラー変換の有効化
Number of conversion 変換数 チャンネル数分設定できる
External Trigger Conversion Source ソフトおよびタイマートリガ 変換トリガソースの設定。 タイマーとかに連動できる
Rank
Channel チャンネル数分設定できる 設定したいCHを入れる
SamplingTime 1.5~60:1.5サイクル サンプリングタイム
ADC_Injected_ConversionMode
Enable Injected Conversions Enable/Disable AD変換中の割り込みの有効/無効設定
WatchDog
Enable Analog WatchDog Mode Enable/Disable Analog WatchDogの有効/無効設定
OffsetNumber 1~4 オフセットするCHの選択
Offset 1~4056 変換値のオフセット
Enable Injected Conversions:
変換は外部イベントまたはソフトウェアによってトリガーされます。
挿入された変換は、「通常の」変換と比較して優先度が高いため、通常の変換が中断されます。
参考:
analog WatchDog
AD変換値がXX以下、あるいはYY以上になった場合、その状況を検知しアラートを出す機能
CubeMX
複数AD変換する:DMAを使用する
DMA設定:Normalモードと、Circularモード
DMA ワンショットモード (DMACFG=0)
このモードでは、ADC は新しい変換データ ワードが利用可能になるたびに DMA 転送要求を生成し、DMA が最後の DMA 転送に到達すると DMA 要求の生成を停止します (DMA_EOT 割り込みが発生した場合、セクション 9: ダイレクト メモリ アクセス コントローラー ( DMA) on page 241) は、変換が再度開始された場合でも同様です。
2 番目のモードは循環モードです。このモードでは、最後の DMA 転送が完了しても、ADC は連続して DMA 要求を生成します。これは、最後の転送後に最初の位置にリセットして自動的に再起動する循環方式で動作するように DMA をセットアップできるためです。これにより、継続的に更新される ADC サンプルのリング バッファーが生成されます。
DMA 循環モード (DMACFG=1)
このモードでは、DMA が最後の DMA 転送に到達した場合でも、データ レジスタで新しい変換データ ワードが利用可能になるたびに、ADC は DMA 転送要求を生成します。これにより、DMA を循環モードに設定して、連続するアナログ入力データ ストリームを処理できます。
Specifies whether the DMA requests are performed in one shot mode
(DMA transfer stop when number of conversions is reached) or in Continuous mode (DMA transfer unlimited, whatever number of conversions).
Note: In continuous mode, DMA must be configured in circular mode.
Otherwise an overrun will be triggered when DMA buffer maximum pointer is reached.
Note: This parameter must be modified when no conversion is on going on both regular and injected groups
(ADC disabled, or ADC enabled without continuous mode or external trigger that could launch a conversion).
This parameter can be set to ENABLE or DISABLE.
DMA 要求がワンショット モードで実行されるかどうかを指定します。
(変換回数に達すると DMA 転送が停止する) または連続モード (変換回数に関係なく、無制限の DMA 転送)。
注: 連続モードでは、DMA を循環モードで構成する必要があります。
そうしないと、DMA バッファーの最大ポインターに到達したときにオーバーランがトリガーされます。
注: 通常のグループと注入されたグループの両方で変換が行われていない場合は、このパラメーターを変更する必要があります。
(ADC を無効にするか、変換を開始できる連続モードまたは外部トリガーなしで ADC を有効にする)。
このパラメーターは、ENABLE または DISABLE に設定できます。
For a given Stream, program the required configuration through the following parameters:
Transfer Direction, Source and Destination data formats, Circular, Normal or peripheral flow control mode,
Stream Priority level, Source and Destination Increment mode,
FIFO mode and its Threshold (if needed),
Burst mode for Source and/or Destination
(if needed) using HAL_DMA_Init() function.
特定のストリームに対して、次のパラメーターを使用して必要な構成をプログラムします。
転送方向、送信元と送信先のデータ形式、循環、通常または周辺フロー制御モード、
ストリームの優先レベル、送信元と送信先のインクリメント モード、
FIFO モードとそのしきい値 (必要な場合)、
ソースおよび/またはデスティネーションのバースト モード
(必要な場合) HAL_DMA_Init() 関数を使用します。