形成死循环,你应该多看看函数的定义 |
先学学基础的C语言再说其它的吧。走路没学会,还想飞! |
while(1)是循环执行的,去掉后也可以加延时函数试下定时器中断。 C语言也是学习单片机的基础,有时间还要多看下单片机例程,根据进度一点一点学起来。 |
您的理解是有一定道理的,while语句的作用就是让他一直在此处运行,有while(1),程序一直运行中,等待定时器中断的产生,没有while(1),程序直接运行结束,定时器中断就没有作用了,自然无法正常工作。 |
你还是先学学基础的C语言再说其它的吧。走路没学会,还想快跑? |
yun8808 发表于 2019-2-16 12:39 main()函数是自循环函数,程序不会结束,但是会反复中断初始化而形成死循环 |
2楼说得对,你的程序功能是靠中断完成的,去掉while(1)后,主函数一直在不停的进行中断的初始化,无法响应中断! |
有while(1),程序一直运行中,会进定时器中断,没有while(1),程序运行结束,不会进定时器,工作就不正常了。 |
while确实会把程序停在那里,你没理解错,但是这里while的作用是让定时器只初始化一次,如果不加while,定时器会反复初始化(main本身就是一个循环),也就没办法进入中断,你就看不到现象 |