STM32CUBEMX使用HAL庫配置單通道ADC+DMA
建立時間: 2021年5月8日
作者: 創新實驗室——GL
版本: v1.0
上次修改時間: 無
聯系作者: 無
首先選擇debug的模式
然後選擇外部高速時鐘
然後随便選擇一個通道
然後配置時鐘樹,在這個地方加輸入72然後敲個回車就行
PS:這裡根據自己的單片機最大頻率進行選擇,可以看到這裡的的ADC的時鐘來到了12M
然後開啟ADC的連續轉換
選擇自己需要的采樣時間
然後添加ADC的DMA,并配置模式為circular,資料大小預設是半字,不用改
最後再給一次ADC的配置圖,有可能因為版本原因會有不同的配置,此時此刻作者這裡的版本是CUBE MX V6.1.1
最後勾選工程生成檔案配置
最後生成代碼,在代碼中定義一個數組,例如作者這裡定義了一個128的數組
然後在初始化的地方添加啟動DMA轉換,這裡是啟動DMA一次性轉換128次,完成後回調callback
然後添加DMA轉化完成的callback函數
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
//add your code
}
啟動試試吧!