Board logo

标题: AD转换的问题 [打印本页]

作者: zhouweibit    时间: 2010-8-27 14:50     标题: AD转换的问题

INT16U temp;  //暂存A/D转换的结果
  ATDCTL5 = (0x20 | channel);
while (1)
if ((ATDSTAT0&(1<< SCFBit)) != 0)
{
     temp = ATDDR0;      //从A/D数据寄存器0中读10位数据
     temp = (temp >> 6); //对数据调整,使低十位有效
     break;
}
return  temp;

大家请看上面这段程序,这是从《嵌入式系统》那本书上摘抄下来的,可以通过channel选择要采样的通道,但是temp=ATDDR0读的始终是0通道的数啊,选择了通道又有什么用呢?难道是我对ATDDR0的理解不对,他存的不只是通道0的数?坐等高手解答
作者: strongchen    时间: 2010-8-30 10:57

在非缓存模式下(FIFO = 0),每组转换的结果都从ATDDR0寄存器开始保存。如果一组中只有一个通道,那么此时的转换结果就保存在ATDDR0中。
作者: ic234    时间: 2010-8-31 13:57


作者: chery2099    时间: 2010-11-8 20:41

学习了!!!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0