打印
[MM32软件]

ADC底层函数库的疑问

[复制链接]
80|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZG11211|  楼主 | 2024-12-22 17:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LibSamples_MM32F0140_V1.3.7
hal_adc.c
void ADC_RegularChannelConfig(ADC_TypeDef* adc, u32 channel, u8 rank, u32 sample_time)    //ADCSAM_TypeDef
{
    u32 tempchan;
    sample_time = sample_time & 0xF;
    tempchan = channel;
    if(tempchan > 8)
        {
        tempchan = tempchan & 0xF;
        tempchan = tempchan - 8;
        adc->SMPR2 &= ~(0xF << (tempchan << 2));
        adc->SMPR2 |= (sample_time << (tempchan << 2));
    }
    else
        {
        adc->SMPR1 &= ~(0xF << (tempchan << 2));
        adc->SMPR1 |= (sample_time << (tempchan << 2));
    }
}
官方的代码如上述,我觉得这个判断有问题,大于8才走SPMR2寄存器,实际序号是0-7,8-15,那么序号8就被装入了SMPR1了,这是不是错误?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

1118

帖子

8

粉丝