在新做的板上用2364的ADC,读到的数据一直是3FF,外部电压约为1.65V,同样的程序在2368的开发板上读取数据正常.程序如下:
//初始化
PINSEL1=(PINSEL1&0xFFF03FFF)|0x00054000; //设置AIN0,1,2
//PINSEL1=0x00054000;
PCONP |= (1<<12); //打开ADC时钟
unsigned int GetAD0(unsigned char Channel)
{
unsigned int val;
AD0CR = 0x01000001 | 0x002E0400; //A/D: 10位 AIN0 @ 3MHz
do {
val = AD0GDR; // 读AD
} while ((val & 0x80000000) == 0); //
AD0CR &= ~0x01000001; // 停止转换
val = (val >> 6) & 0x03FF; //获取AD值
return(val); //返回12 bits ADC结果
}
第一块板没有成功,怀疑是ADC损坏,昨天又弄了一块,还是一样.不知道是什么原因.请指教一下 |