智能车制作

 找回密码
 注册

扫一扫,访问微社区

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

[软件类] void ADC_Init(ADC_InitTypeDef* ADC_InitStruct)怎么引用

[复制链接]

15

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2212
威望
1132
贡献
682
兑换币
724
注册时间
2014-1-30
在线时间
199 小时
跳转到指定楼层
1#
发表于 2014-4-7 15:23:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void ADC_Init(ADC_InitTypeDef* ADC_InitStruct)
{
        uint8_t i;
       
        ADC_Type *ADCx = ADC0;
       
        PeripheralMapTypeDef *pADC_Map = (PeripheralMapTypeDef*)&(ADC_InitStruct->ADCxMap);
       
        SIM->SCGC6 |= SIM_SCGC6_ADC0_MASK;  //′ò¿aê±ÖóÃÅ
       
        ADCx->CFG1 &= ~(ADC_CFG1_MODE_MASK);   //éèÖÃAD¾«¶è
       
        ADCx->CFG1 |= ADC_CFG1_MODE(ADC_InitStruct->ADC_Precision);
       
        ADCx->CFG1 &= ~ADC_CFG1_ADICLK_MASK;  //×üÏßê±ÖóÎaadê±ÖóÔ′
       
        ADCx->CFG1 |=  ADC_CFG1_ADICLK(0);
       
        ADCx->CFG1 &= ~ADC_CFG1_ADLSMP_MASK;  //3éÑùê±¼ä

        ADCx->CFG1 &= ~ADC_CFG1_ADIV_MASK;    //3éÑùê±Öó·ÖÆμ
       
        ADCx->CFG1 |= ADC_CFG1_ADIV(3);

        if(pADC_Map->m_PinCntIndex > 1)             // μ¥í¨μà¡¢2î·Öí¨μà
               
        {
                ADCx->SC1[pADC_Map->m_SpecDefine1] |= ADC_SC1_DIFF_MASK;
        }
        else
        {
                ADCx->SC1[pADC_Map->m_SpecDefine1] &= ~ADC_SC1_DIFF_MASK;
        }
        //Calieration
        i = ADC_Cal(ADCx);
        //′¥·¢Ô′
        (ADC_TRIGGER_HW == ADC_InitStruct->ADC_TriggerSelect)?(ADCx->SC2 |= ADC_SC2_ADTRG_MASK)ADCx->SC2 &= ~ADC_SC2_ADTRG_MASK);
       
        for(i=0;i<pADC_Map->m_PinCntIndex;i++)
        {
                PinMuxConfig(pADC_Map->m_PortIndex,pADC_Map->m_PinBaseIndex+i,pADC_Map->m_MuxIndex);
        }
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-11 09:48 , Processed in 0.037542 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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