SAM D21 的 ADC 采样跳变严重?加去耦电容 + 延长采样时间效果立竿见影!以下是优化后的配置代码
// ADC初始化(SAMD21)
void ADC_Init(void) {
// 使能ADC时钟
PM->APBCMASK.reg |= PM_APBCMASK_ADC;
// 配置采样时间(延长至20周期)
ADC->SAMPCTRL.reg = 20;
// 配置参考电压和分辨率
ADC->REFCTRL.reg = ADC_REFCTRL_REFSEL_INTVCC1;
ADC->CTRLB.reg = ADC_CTRLB_RESSEL_12BIT;
// 使能ADC
ADC->CTRLA.reg |= ADC_CTRLA_ENABLE;
}
|
|