liuweidonger 发表于 2011-5-14 15:28:44

atxmega32a4 ad输入不为0

/*
ADCA CAL为校准寄存器值,
设与不设对AD值没有影响,不知道是怎么回事?
当输入为0V时,始终都有130码值。
当输入为1V时,能得到4095
*/
void adc_int()
{
ADCA_CAL = 130;
ADCA_PRESCALER= 0x02;      
ADCA_REFCTRL    = 0x00;   
ADCA_CTRLB      = 0x00;      
ADCA_CH0_CTRL|= 0x01;      
ADCA_CH0_MUXCTRL= 0x08;   
ADCA_CTRLA      = 0x01;   
ADCA_CH0_CTRL|= 0x80;   
}

小果 发表于 2011-5-14 16:41:50

看看ERRATE,看看AN
XMEGA的ADC是有些小问题的

liuweidonger 发表于 2011-5-16 14:52:40

苦脑中!

小果 发表于 2011-5-16 15:19:14

优化一下就可以了,还是可以用的,就是繁琐一些,注意工作模式

liuweidonger 发表于 2011-5-16 15:38:07

有办法将ADCA_CH0_RES的值弄到0吗

小果 发表于 2011-5-16 20:25:54

比较难,要看工作模式,还和电压基准有关,仔细看Errata
页: [1]
查看完整版本: atxmega32a4 ad输入不为0