- UID
- 531177
- 性别
- 女
|
这是我写的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; //清除队列完成标志 |
|