天天看點

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

建立時間: 2021年5月8日

作者: 創新實驗室——GL

版本: v1.0

上次修改時間: 無

聯系作者: 無

首先選擇debug的模式

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

然後選擇外部高速時鐘

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

然後随便選擇一個通道

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

然後配置時鐘樹,在這個地方加輸入72然後敲個回車就行

PS:這裡根據自己的單片機最大頻率進行選擇,可以看到這裡的的ADC的時鐘來到了12M

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

然後開啟ADC的連續轉換

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

選擇自己需要的采樣時間

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

然後添加ADC的DMA,并配置模式為circular,資料大小預設是半字,不用改

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

最後再給一次ADC的配置圖,有可能因為版本原因會有不同的配置,此時此刻作者這裡的版本是CUBE MX V6.1.1

STM32CUBEMX使用HAL庫配置單通道ADC+DMA

最後勾選工程生成檔案配置

STM32CUBEMX使用HAL庫配置單通道ADC+DMA
STM32CUBEMX使用HAL庫配置單通道ADC+DMA

最後生成代碼,在代碼中定義一個數組,例如作者這裡定義了一個128的數組

然後在初始化的地方添加啟動DMA轉換,這裡是啟動DMA一次性轉換128次,完成後回調callback

然後添加DMA轉化完成的callback函數

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
//add your code
}
           

啟動試試吧!

繼續閱讀