uint8_t pwmFlag=0;
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{
delay_us(5);
// 触发ADC转换,使用DMA传输数据,设置源地址、目标地址、传输数量
HAL_ADC_Start_DMA(&hadc1, ADC_Value, 7); // 采样7个值存储在ADC_Value[10]数组中
// pwmFlag=1;
// /* The ADC3 starts collecting the voltage of the supercapacitor */
// HAL_ADC_Start(&hadc1);
// if (HAL_ADC_PollForConversion(&hadc1, 100) == HAL_OK)
// {
// adcValue = HAL_ADC_GetValue(&hadc1);
supercapV = (uint32_t) adcValue * 3300 / 0xFFFF;
// }
// HAL_ADC_Stop(&hadc1);
}
while (1)
{
if (1 == adcDmaFlag)
{
adcDmaFlag = 0; // 清除DMA采集完成标志位
HAL_ADC_Start_DMA(&hadc1, ADC_Value, 7); // 开启下一次ADC和DMA采集
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
pwm adc
最新推荐文章于 2024-08-23 18:18:23 发布