首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

AD转换的问题

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的数?坐等高手解答
在非缓存模式下(FIFO = 0),每组转换的结果都从ATDDR0寄存器开始保存。如果一组中只有一个通道,那么此时的转换结果就保存在ATDDR0中。
海纳百川  有容乃大
ADI代理商,MAIXM等系列芯片,电子元器件,详情请登陆:http://www.ic139.com
学习了!!!
返回列表