当前位置: 代码迷 >> WinCE >> 有人用过2440的ADC么?请问下.不能启动转换.大家帮小弟我分析下
  详细解决方案

有人用过2440的ADC么?请问下.不能启动转换.大家帮小弟我分析下

热度:50   发布时间:2016-04-28 13:22:46.0
有人用过2440的ADC么?请教下.不能启动转换.大家帮我分析下.
部分程序如下:
pADCreg->rADCCON = (1<<14)|(200<<6)|(0<<3);
adccon = pADCreg->rADCCON;
pADCreg->rADCCON |= 1;
DWORD cmp = pADCreg->rADCCON&1;
while(cmp);//这里,如果我单步调试,一步一步走到这儿,cmp就是0,说明已经转换了,但是如是我直接走到这儿,它就是1.不知道为什么.
cmp = pADCreg->rADCCON & 0x8000;
while(!cmp);//这儿也是同样的问题.
adcdat = pADCreg->rADCDAT0&0x3ff;
请大家都我看下.谢谢了.

------解决方案--------------------
直接走到那个地方,还没有来得及转换完毕。单步花的时间长。
可以给cmp加volatile关键字再编译。