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;
} 看看ERRATE,看看AN
XMEGA的ADC是有些小问题的 苦脑中! 优化一下就可以了,还是可以用的,就是繁琐一些,注意工作模式 有办法将ADCA_CH0_RES的值弄到0吗 比较难,要看工作模式,还和电压基准有关,仔细看Errata
页:
[1]