楼主这个地方
ADC_DiscModeCmd(ADC1,DISABLE); // 置位CONT
写错了,这个函数不是置位CONT。
连续转换 停止/启动 的方法可以这样,我自己写的,已测试通过:
void ADC_ContinuousCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
{
/* Check the parameters */
assert_param(IS_ADC_ALL_PERIPH(ADCx));
assert_param(IS_FUNCTIONAL_STATE(NewState));
if (NewState != DISABLE) {
/* Enable the selected ADC CONT */
ADCx->CR2 |= (1 << 1);
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
} else {
/* Disable the selected ADC CONT */
ADCx->CR2 &=~(1 << 1);
ADC_SoftwareStartConvCmd(ADC1, DISABLE);
}
}
|