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

请教关于ATD转换结果的问题

请教关于ATD转换结果的问题

这是我写的ATD初始化程序,为什么我的9S12XS128能检测到转换标志,也能清除标志,但是读出来的数据始终都是错误的??
希望多多指教。。

void ATDInit(void){
ATD0CTL1=0x00; // 8位精度
ATD0CTL2=0x40; //A/D CONTINUE IN STOP MODE
ATD0CTL3=0x80; //右对齐,
ATD0CTL4=0x01; //
ATD0CTL5=0x22;
ATD0DIEN=0x00;
}

while(!ATD0STAT0_SCF);   //一个AD转换队列转换完成后置1
  
   temp[0]=ATD0DR0L;
   temp[1]=ATD0DR1L;
    temp[2]=ATD0DR2L;
      temp[3]=ATD0DR3L;
        temp[4]=ATD0DR4L;
          temp[5]=ATD0DR5L;
            temp[6]=ATD0DR6L;
              temp[7]=ATD0DR7L;
                temp[8]=ATD0DR8L;
                  temp[9]=ATD0DR9L;
                    temp[10]=ATD0DR10L;
                      temp[11]=ATD0DR11L;
                        temp[12]=ATD0DR12L;
                          temp[13]=ATD0DR13L;
                            temp[14]=ATD0DR14L;
                              temp[15]=ATD0DR15L;
                                
                                
  
//ATD0CTL5=0x22; //
  
ATD0STAT0_SCF=1; //清除队列完成标志
看下VRH端口的输入电平是不是5V左右,然后测下输入端口的电平。
返回列表