2.4请分析以下一段代码并指出有那些地方需要修改。 unsigned int msCounter=0; //毫秒计数器全局变量 //------------------------------------------------------------------------ void main(void) { InitSys();//初始化定时中断 while(1){ if(msCounter>5000){ Startout(); } } } //------------------------------------------------------------------------ void Startout(void){ return(msCounter); } //------------------------------------------------------------------------ //定时中断服务程序 void interrupt Timer_1ms_ISR(void){ msCounter++; } //------------------------------------------------------------------------
楼主先分析一下这一段代码中的问题,然后再对照自己的代码看看是否存在类似的问题。
虽然我没有看你的代码,但很多人认为诡异的问题,都是类似的临界代码造成的。
|