STM32F407 Dual Regular Simultaneous Mode Only + DMA + TIM
STM32F407 Dual Regular Simultaneous Mode Only + DMA + TIM

STM32F407 Dual Regular Simultaneous Mode Only + DMA + TIM

设置 TIM2:

设置 ADC1:

设置 ADC1 DMA:

设置 ADC1 的 中断:

设置 ADC2:

ADC2 不需要设置其 DMA 和 中断。

关键代码:

#define ADC_BUFFER_SIZE 1024
uint32_t adcRAwValues[ADC_BUFFER_SIZE];
HAL_ADC_Start(&hadc2);
HAL_ADCEx_MultiModeStart_DMA(&hadc1, (uint32_t *)adcRAwValues, ADC_BUFFER_SIZE);
HAL_TIM_Base_Start(&htim2);

当然也可以:

#define ADC_BUFFER_SIZE 1024
uint16_t adcRAwValues[ADC_BUFFER_SIZE * 2];
HAL_ADC_Start(&hadc2);
HAL_ADCEx_MultiModeStart_DMA(&hadc1, (uint32_t *)adcRAwValues, ADC_BUFFER_SIZE);
HAL_TIM_Base_Start(&htim2);

发表回复