返回列表 发新帖

atxmega32a4 ad输入不为0

[复制链接]

2

主题

10

帖子

2

积分

一年级

积分
2
QQ
发表于 2011-5-14 15:28:44 | 显示全部楼层 | 阅读模式
/*
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;   
}
回复

使用道具 举报

443

主题

3974

帖子

65万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
657589
QQ
发表于 2011-5-14 16:41:50 | 显示全部楼层
看看ERRATE,看看AN
XMEGA的ADC是有些小问题的
回复 支持 反对

使用道具 举报

2

主题

10

帖子

2

积分

一年级

积分
2
QQ
发表于 2011-5-16 14:52:40 | 显示全部楼层
苦脑中!
回复 支持 反对

使用道具 举报

443

主题

3974

帖子

65万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
657589
QQ
发表于 2011-5-16 15:19:14 | 显示全部楼层
优化一下就可以了,还是可以用的,就是繁琐一些,注意工作模式
回复 支持 反对

使用道具 举报

2

主题

10

帖子

2

积分

一年级

积分
2
QQ
发表于 2011-5-16 15:38:07 | 显示全部楼层
有办法将ADCA_CH0_RES的值弄到0吗
回复 支持 反对

使用道具 举报

443

主题

3974

帖子

65万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
657589
QQ
发表于 2011-5-16 20:25:54 | 显示全部楼层
比较难,要看工作模式,还和电压基准有关,仔细看Errata
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表