金牌会员
- 积分
- 1704
- 威望
- 1032
- 贡献
- 200
- 兑换币
- 353
- 注册时间
- 2012-10-1
- 在线时间
- 236 小时
|
uint8 hw_adc_convertstart(int MoudelNumber,int Channel,uint8 accuracy)
{
uint8 ADCCfg1Mode = 0;
switch(accuracy)
{
case 8:
ADCCfg1Mode = 0x00;
break;
case 12:
ADCCfg1Mode = 0x01;
break;
case 10:
ADCCfg1Mode = 0x02;
break;
case 16:
ADCCfg1Mode = 0x03;
break;
default:
ADCCfg1Mode = 0x00;
}
//初始化ADC默认配置
Master_Adc_Config.CONFIG1 = ADLPC_NORMAL
| ADC_CFG1_ADIV(ADIV_4)
| ADLSMP_LONG
| ADC_CFG1_MODE(ADCCfg1Mode)
| ADC_CFG1_ADICLK(ADICLK_BUS);
Master_Adc_Config.CONFIG2 = MUXSEL_ADCA
| ADACKEN_DISABLED
| ADHSC_HISPEED
| ADC_CFG2_ADLSTS(ADLSTS_20) ;
Master_Adc_Config.COMPARE1 = 0x1234u ; //任意值
Master_Adc_Config.COMPARE2 = 0x5678u ; //任意值
if(MoudelNumber == 0)
{
if(Channel>3&&Channel<24) //4~23 使用 ADC0
{
Master_Adc_Config.STATUS1A = AIEN_ON | DIFF_SINGLE | ADC_SC1_ADCH(Channel);
hw_adc_config_alt(ADC0_BASE_PTR, &Master_Adc_Config); // 配置 ADC0
}
else if(Channel == 26)
{
Master_Adc_Config.STATUS1A = AIEN_ON | DIFF_SINGLE | ADC_SC1_ADCH(Channel);
hw_adc_config_alt(ADC0_BASE_PTR, &Master_Adc_Config); // 配置ADC0
}
else
{
return 0;
}
}
else
{
if(Channel>3&&Channel<24) //4~23 使用 ADC1
{
Master_Adc_Config.STATUS1A = AIEN_ON | DIFF_SINGLE | ADC_SC1_ADCH(Channel);
hw_adc_config_alt(ADC1_BASE_PTR, &Master_Adc_Config); // 配置ADC1
}
else if(Channel == 26)
{
Master_Adc_Config.STATUS1A = AIEN_ON | DIFF_SINGLE | ADC_SC1_ADCH(Channel);
hw_adc_config_alt(ADC1_BASE_PTR, &Master_Adc_Config); // 配置ADC1
}
else
{
return 0;
}
}
return 1;
}
|
|