哪位大神帮我看一下,我配置了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中断标志函数
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>