|
void ad_con(void)<br />{<br /> unsigned int acbuf;<br /> unsigned long acbuf0;<br /> if(ADCON0bits.GO==0)<br /> {<br /> acbuf=ADRES;<br /> <br /> if(acbuf<ZERO_SPEED_REF)<br /> {<br /> DesiredSpeed=0; <br /> }<br /> else if(acbuf<LOW_SPEED_REF)<br /> {<br /> DesiredSpeed=LOW_SPEED;<br /> }<br /> else<br /> {<br /> acbuf0=HIGH_SPEED-LOW_SPEED;//*(acbuf-LOW_SPEED_REF);)/(1023-LOW_SPEED_REF);<br /> acbuf0*=(acbuf-LOW_SPEED_REF);<br /> DesiredSpeed=(unsigned int)(acbuf0/(1023-LOW_SPEED_REF))+LOW_SPEED;<br /> }<br /> ADCON0bits.GO=1;<br /> }<br />}<br /><br />问题:用ICD2仿真时,把断点设置在ADCON0bits.GO=1;这里,发现始终不会停止,后经检查发现是因为DesiredSpeed这句进入之后就出不来了!点击程序暂停,发现程序复位了!!望各位老大给看看!!谢谢!!!芯片:PIC18F2431<br /><br /> |
|