单片机C语言中为什么要用while(1)?可以写成while (1)不加。或者原因是写一个完整的陈述,问大虾!c51单片机中while(1while(1))的作用,其实就是让单片机一直停留在程序中运
单片机C语言中为什么要用while(1)?可以写成while (1)不加。或者原因是写一个完整的陈述,问大虾!c51单片机中while(1while(1))的作用,其实就是让单片机一直停留在程序中运行,而不是程序运行后再从头开始,while(1while语句的原型是while (expression)语句,当表达式为非0时,执行while语句中的嵌套语句。
我是一名多年的单片机工程师。可以参考下面的解释。原句如下。While(n){语句1;声明2;陈述n;}解释:1while(1)是一个无限循环花括号中的语句。例如:while(1){ ab;CD;}这样的说法ab;CD;,从上到下,再回到起点,再从上到下,以此类推。当(一)时.假设i50,每执行一次花括号我就减1。这就是符号“”的原理,“”的名字叫自降。直到i0,我会退出while大括号里的语言,相当于执行了while大括号里的语句50次。
如果点亮LED灯的语句设置为“语句A”,则添加while(1){***语句A * *}或{***语句A * * *while(1);},程序运行后,只反复运行“语句A”不做别的,所以LED灯一直亮着。要看节目,不然看不出来。任何一个单片机程序都必须有一个无限循环,否则程序会执行到底,然后怎么办。没有这个死循环,单片机会从地址0重新启动,整个系统重新初始化,导致IO口复位。如果它跑得快,其他的灯会稍微亮一点。
可以写成while (1)不加;或者原因是写一个完整的陈述。而(1)是一个总循环,不需要加上{}。编译器标准,没理由!可以这么理解。不同的编译器对同一种语言有不同的标准。如果只有一句话可以省略,但应该写成“while(1);”分号不能少。如果包含多条语句,必须加大括号!如果包含多条语句而没有添加,那么循环只能管理后面的一条语句,无法实现预定的功能。
while(1)的作用其实就是让单片机一直停留在程序中运行,而不是程序运行后再从头开始。只有呆在程序里,你的中断程序才有机会执行,否则你的中断程序还没运行就被重启了。While (1) {0}表示继续执行大括号中的程序;while(1);换句话说,程序到这里就停止了,后面的不再执行。除了中断,它再也不动了。就差分号了,把分号杀了就好。
while语句的原型是while语句。当表达式为非0时,执行while语句中的嵌套语句。1.while(1)其中1表示常数表达式,但它永远不会等于0。循环将继续。除非设置break和其他类似的跳出语句,否则循环不会停止。2.while(i)其中I为变量,表达式I有不同的值,依次递减,I先取值后递减,I先加后取值。
所以当我为0时,循环会跳出。扩展数据的一般形式如下:while (expression),其中执行过程如下:(1)计算while后括号内表达式的值,如果结果不为0,则转到(2),否则转到(3)(2)执行循环体,转到(1)(3)退出循环,执行循环体下面的语句。因为先执行判断,再执行循环体,所以循环体可能不会一次执行完。循环体可以是空语句“;”。
6、单片机main主函数末尾加了while(11。根据程序的要求,理论上程序不会重复,应停在while(1);2、实际情况可能是模块的操作,导致掉电和单片机的复位。3.重点检查模块的电源,示波器检查单片机的工作电源。增加对IO口的控制,检查端口的状态来监控单片机的复位,改进的方法应该是增加模块的储能容量,提高电源的负载能力,选择高能电池作为电池。4.就检查程序而言,可以省略AT命令和SMS操作部分,增加IO口,看单片机是否会复位。