今回は一番簡単なやつやってみます。
やったことを雑に書くとこんな感じ
CubeMXでの設定
今回は一個しか読まないのでこのようにPA4にアサインする
一応UARTも使ってるのでそれも設定する
各種設定はこんな感じ
要所要所説明挟むとこんなもん
ADC_Setting
設定 | 機能 | 説明 |
---|---|---|
mode | independent mode | 独立モードで動く、その他速度を上げるDualModeがある |
Clock Prescaler | 非同期、1~4分周 | 読んで字のごとくクロック分周器 |
Resolution | 6~12bit | ADCの分解能 |
Data Alignment | 右詰め、左詰め | データの詰め方 |
Scan Coversion | Enable,Disable | 一回のシーケンスですべてのCHを変換するかどうか |
Continuos Conversion Mode | Enable,Disable | 連続変換 |
Dis Continuos Conversion Mode | Enable,Disable | 不連続変換 |
End Of Conversion Selection | シングルごとかシーケンスごとか両方か | 変換終了フラグの有無 データシートEOCフラグの部分読んだほうが図もあってわかりやすい |
Low Power Auto Wait | Enable,Disable | 自動遅延変換モードの有無。ADC オーバーランが発生するリスクのある低周波数のクロックで動作しているアプリケーションのパフォーマンスを最適化する場合に有効 |
ADC_Regular_Conversion_Mode
設定 | 機能 | 説明 |
---|---|---|
Enable Regular Conversion | Enable,Disable | レギュラー変換の有効化 |
Number of conversion | 変換数 | チャンネル数分設定できる |
External Trigger Conversion Source | ソフトおよびタイマートリガ | 変換トリガソースの設定。 タイマーとかに連動できる |
External Trigger Conversion Edge | 立ち上がりか立下りかソフトか | 外部割り込みの設定 |
Rankの設定
RankはCH分だけ個別設定ができる
設定 | 機能 | 説明 |
---|---|---|
Channel | チャンネル数分設定できる | 設定したいCHを入れる |
SamplingTime | 1.5~601.5サイクル | サンプリングタイム |
OffsetNumber | 1~4 | オフセットするCHの選択 |
Offset | 1~4056 | 変換値のオフセット |
ハード構成
一応紹介しておく
POTの2番ピンをA3ピンにつないでいるだけだが
コードを書いていく
参考までにコードを貼っておく