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
}
启动试试吧!