STM32F407多通道ADC+DMA
ADC简介
Analog-to-Digital Converter的缩写。指模/数转换器或者模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。
典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号.
Cube Mx配置
如图配置ADC1,打开1,2,3三个通道。
打开DMA通道用于传递数据,由于STM32单片机为32位机且ADC转化精度是12位,所以数据宽度单位设置为半字长十六位循环转化模式。
代码编辑
uint16_t ADC_res[3];//定义数组存储数据
HAL_ADC_Start_DMA (&hadc1,(uint32_t*)ADC_res,3);//以DMA方式打开ADC1,最后一个参数为数据数量
while (1)
{
printf ("1:%d 2:%d 3:%d \r\n",ADC_res[0],ADC_res[1],ADC_res[2]);
}