STM8S003K3 ADC

2019-07-19 20:11发布

哪位大神帮我看一下,我配置了ADC1的单次中断模式,但是一直进不了中断,不知道为什么。下面是源码。u8 Power_Vol_ADC_SINGLE_Configuration(void){
    u8 Power_Vol=0;
    u16 temp_data=0;

    ADC1_Init(ADC1_CONVERSIONMODE_SINGLE,ADC1_CHANNEL_1,
              ADC1_PRESSEL_FCPU_D18,ADC1_EXTTRIG_TIM,DISABLE,
              ADC1_ALIGN_RIGHT,ADC1_SCHMITTTRIG_CHANNEL1, DISABLE);
    ADC1_Cmd(ENABLE);//转换器使能
    ADC1_ITConfig(ADC1_IT_EOCIE,ENABLE);//中断使能

    ADC1_StartConversion();//开始转换
    while(!Adc_Flag);//等待转换完成
    //Adc_Flag=0;
    delay_ms(10);
    temp_data=ADC1_GetConversionValue();//获得转换结果
    Power_Vol=(u8)((5/1023)*temp_data*14.33);   
    return Power_Vol;
}
INTERRUPT_HANDLER(ADC1_IRQHandler, 22)
{
    Adc_Flag=1;

    ADC1_ClearITPendingBit(ADC1_IT_EOCIE);//清除ADC1中断标志函数
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。