想让这个程序产生有限个脉冲,可它一直产生

2019-07-15 17:14发布

  if(i<10)                     
         
               { CLK=!CLK;

                     DelayMS(1)        ;
                                i++;
                }
想让这个程序产生有限个脉冲,可它一直产生。我用它给L297产生脉冲, 就一直转。真是想不通

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
andy_wsj
2019-07-17 12:57
问题出在程序的结束处,当程序输出有限个脉冲之后,程序结束,运行到main函数的结束,那么就要返回,这时候能返回到哪去?
如果是51的片子,那么很多公司的芯片都是继续从头再运行程序,于是继续输出有限个脉冲,看起来就是没有结束了
如果在程序的最后假山while(1); 不让程序结束,那么就可以了
最后一种方式就是不结束的方式,实际是可行的,但是楼主说要跳出while,如果是main函数,跳出之后又回到原来的问题了
51单片机的裸机C程序还是不要跳出main函数,这样才是可控的,否则就是人为的跑飞

一周热门 更多>