智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1198|回复: 0
打印 上一主题 下一主题

[咨询] 这样的AD有误么

[复制链接]

45

主题

171

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1704
QQ
威望
1032
贡献
200
兑换币
353
注册时间
2012-10-1
在线时间
236 小时
跳转到指定楼层
1#
发表于 2012-11-23 23:14:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-8 03:16 , Processed in 0.040216 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表