[综合信息] HC 32F003 ADC操作函数

[复制链接]
 楼主| gaoke231 发表于 2020-3-25 21:09 | 显示全部楼层
获取累加采样值
en_result_t Adc_GetAccResult(uint32_t* pu32AdcAccResult)
{
    if (NULL == pu32AdcAccResult)
    {
        return ErrorInvalidParameter;
    }

    *pu32AdcAccResult = M0P_ADC->RESULT_ACC_f.RESULT_ACC;

    return Ok;
}
 楼主| gaoke231 发表于 2020-3-25 21:10 | 显示全部楼层
清零累加采样值
void Adc_ClrAccResult(void)
{
    M0P_ADC->CR1_f.RACC_CLR = 0u;
}
 楼主| gaoke231 发表于 2020-3-25 21:11 | 显示全部楼层
获取扫描采样模式下指定通道的采样值
en_result_t Adc_GetScanResult(uint8_t u8Channel, uint16_t* pu16AdcResult)
{
    if (NULL == pu16AdcResult)
    {
        return ErrorInvalidParameter;
    }

    switch (u8Channel)
    {
        case AdcExInputCH0:
            *pu16AdcResult = M0P_ADC->RESULT0_f.RESULT0;
            break;
        case AdcExInputCH1:
            *pu16AdcResult = M0P_ADC->RESULT1_f.RESULT1;
            break;
        case AdcExInputCH2:
            *pu16AdcResult = M0P_ADC->RESULT2_f.RESULT2;
            break;
        case AdcExInputCH3:
            *pu16AdcResult = M0P_ADC->RESULT3_f.RESULT3;
            break;
        case AdcExInputCH4:
            *pu16AdcResult = M0P_ADC->RESULT4_f.RESULT4;
            break;
        case AdcExInputCH5:
            *pu16AdcResult = M0P_ADC->RESULT5_f.RESULT5;
            break;
        case AdcExInputCH6:
            *pu16AdcResult = M0P_ADC->RESULT6_f.RESULT6;
            break;
        case AdcExInputCH7:
            *pu16AdcResult = M0P_ADC->RESULT7_f.RESULT7;
            break;
        default:
            return ErrorInvalidParameter;
    }
    return Ok;
}
 楼主| gaoke231 发表于 2020-3-25 21:11 | 显示全部楼层
获取ch8的采样值
en_result_t Adc_GetCH8Result(uint16_t* pu16AdcResult)
{  
    if (NULL == pu16AdcResult)
    {
        return ErrorInvalidParameter;
    }   
    *pu16AdcResult = M0P_ADC->RESULT8_f.RESULT8;
    return Ok;   
}
 楼主| gaoke231 发表于 2020-3-25 21:12 | 显示全部楼层
设置ADC参考电压
en_result_t Adc_SetVref(en_adc_ref_vol_sel_t enAdcRefVolSel)
{
    if (enAdcRefVolSel > RefVolSelAVDD)
    {
        return ErrorInvalidParameter;
    }

    M0P_ADC->CR0_f.SREF = enAdcRefVolSel;
    return Ok;
}
zhamatu 发表于 2020-3-26 22:57 | 显示全部楼层
支持下,谢谢分享!就是解释再详细点就好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部