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