新手,对所编的c源文件有疑问,请教高手解答
时间:10-02
整理:3721RD
点击:


51单片机c语言练习输出的结果后有一连串的零,以及乱码。不知道是什么原因,请教高手?
各位大侠!不好意思!我是新手,又在自学,所以提的问题或许很白痴。请多多包涵啊
这个问题我也解析不了具体怎么运行的。不过有一点可以告诉你,程序下载51和用VC++6.0运行的结果是不一样的。51单片机是死循环。他不会运行完main函数就会结束的,他会不断重复运行代码。这涉及到编译器。你要在main函数里面加个while(1);
什么情况下需要加"while(1);" 有些程序上并没有看到这句,它具体加在什么位置合适?
什么情况下需要加"while(1);" 有些程序上并没有看到这句,它具体加在什么位置合适?
那么什么情况下需要加"while(1);" 有些程序上并没有看到这句,它具体加在什么位置合适?
- void main (void) {
- unsigned int i;
- UARTConfiguration(); //设置串行通信模式,波特率9600、数据位8、停止位1。效验位无 (11.0592M)
-
- while(1)
- {
- i=0;
- while(MESSAGE[i] != '\0')
- {
- SendByte(MESSAGE[i]); //发送字符
- i++; //下一个字符
- }
- delay(); //延时
- }
- }
上面就是我写的串口发送程序。每隔一段时间发送一次字符串MESSAGE。
while(1)放在main()主函数里面,while(1)前面是一些初始化操作。while(1)里面就是单片机不断循环的操作。
那么while(1)前面的东西只执行一次,里面的东西不断循环。while(1)里面的东西也可以是空的就是什么都不做,只允许前面的东西就不断空循环。
