LPC 2114的AD 怎么有时候转换一直在等待? 用仿真器大部分时候AD转换成功,某些时候程序就停在等待AD转换完的地方,但不用仿真器跑程序转换一
直不成功,别的中断程序里面功能都正常,判断应该也是卡在等待AD转换完的地方。
下面是我的AD 程序:
ADCR = ADCR | (1 << 24); // 再次启运转换 while( (ADDR & 0x80000000) == 0 ); // 等待转换结束 就停在 while( (ADDR & 0x80000000) == 0 ); 这里过不去。
这是我的AD初始化程序 void ad_init(void) { ADCR = (8 << 0) | // SEL = 3 ,选择转换AIN3 ( (pclk/1000000 - 1) << 8) | // AD时钟,即转换时钟为1MHz (0 << 16) | // BURST = 0 ,软件控制转换操作 (0 << 17) | (1 << 21) | // PDN = 1 , 正常工作模式(非掉电转换模式) (0 << 22) | // TEST0:0 = 00 ,正常工作模式(非测试模式) (1 << 24); // START = 1 ,直接启动ADC转换 } |