STM HAL_ADC DMA
DMA(ダイレクトメモリアクセス)を体験するというのが趣旨。一番みられるADCで行う。他にもUARTに直接とか、SPIやI2Cに直接とかもできる。 File-New-STM32Projectを選択して新規のプロジェクトを生成 USBからテキストをPCに転送できるようにしたいので、 ConectivityのUSBをクリック□Device(FS)にチェックをいれる。 Categoriesの下のMiddlewareの所に”USB_DEVICE"が反転し選択 . Class For FS IPが現れてDisableになっているが、選択できるようになる。Communication Device Class(Virtual Port Com)を選択する。 続いてCategoriesのAnalogを展開して、ADC1をクリック。ADC1 mode and configrationが開くので、ここでは、IN0~IN3の4つにチェックを入れる。その後、Parameter settingのScan Continuous ModeをEnableに。 Scan Conversion ModeもEnableになっているか確認する。 Mode: ADC1と2を両方使う場合同期させるか、独立にするか? Data Alignment: データを右詰?左詰?を選択 Scan Conversion Mode: 複数のチャンネルを次々と測定するか、しないかの指定 Continuous Conversion Mode/Discontinuous Conversion Mode ADCの完了後に次々と繰り返す/繰り返さない Number of Conversion:変換するチャンネルの数 ここでは4。 External Trigger Conversion Source:トリガの指定。ソフトウェアからトリガをあげるか、タイマーをトリガーにすることもできる。 Sampling Time:ADCのコンデンサがチャージしている時間。アナログ的な平均化が可能?と信じて長いものを設定している。 https://rt-net.jp/mobility/archives/19153 DMA settingsのタブを開いて、バッファの末端を超えると先頭からデータを格納する循環バッファを形成するためCircularを