NUC230芯片程序初始化都是参照官方库例程来的,现在有一个问题,就是我配置单次扫描,通道0采集数据,ADC数据正确,ADC值正常变化;当我配置为通道1时,ADC值就固定为一个值(我用示波器观察电压,ADC值时不正确的),同时ADC值不变;这是为什么呢?有大佬帮帮忙。以下是我的初始化程序[code]void ADC0_Init(void)
{
CLK_EnableModuleClock(ADC_MODULE);
CLK_SetModuleClock(ADC_MODULE, CLK_CLKSEL1_ADC_S_HIRC, CLK_CLKDIV_ADC(7));
GPIO_DISABLE_DIGITAL_PATH(PA, 0x01);
SYS->GPA_MFP &= ~(SYS_GPA_MFP_PA0_Msk) ;
SYS->GPA_MFP |= SYS_GPA_MFP_PA0_ADC0 ;
SYS->ALT_MFP1 = 0;
ADC_Open(ADC, ADC_ADCR_DIFFEN_SINGLE_END, ADC_ADCR_ADMD_SINGLE, BIT1);
ADC_POWER_ON(ADC);
}
uint16_t Get_ADC_Value(void)
{
uint16_t ADCData;
ADC_CLR_INT_FLAG(ADC, ADC_ADF_INT);
ADC_START_CONV(ADC);
while(ADC_GET_INT_FLAG(ADC, ADC_ADF_INT) != ADC_ADF_INT);
ADCData = ADC_GET_CONVERSION_DATA(ADC,1);
return ADCData;
} |