微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新手,对所编的c源文件有疑问,请教高手解答

新手,对所编的c源文件有疑问,请教高手解答

时间:10-02 整理:3721RD 点击:



51单片机c语言练习输出的结果后有一连串的零,以及乱码。不知道是什么原因,请教高手?
各位大侠!不好意思!我是新手,又在自学,所以提的问题或许很白痴。请多多包涵啊

这个问题我也解析不了具体怎么运行的。不过有一点可以告诉你,程序下载51和用VC++6.0运行的结果是不一样的。51单片机是死循环。他不会运行完main函数就会结束的,他会不断重复运行代码。这涉及到编译器。你要在main函数里面加个while(1);

什么情况下需要加"while(1);" 有些程序上并没有看到这句,它具体加在什么位置合适?

什么情况下需要加"while(1);" 有些程序上并没有看到这句,它具体加在什么位置合适?

那么什么情况下需要加"while(1);" 有些程序上并没有看到这句,它具体加在什么位置合适?


  1. void main (void) {

  2.     unsigned int i;

  3.     UARTConfiguration();            //设置串行通信模式,波特率9600、数据位8、停止位1。效验位无 (11.0592M)   
  4.    
  5.     while(1)
  6.     {  
  7.                 i=0;
  8.                 while(MESSAGE[i] != '\0')
  9.                 {
  10.                         SendByte(MESSAGE[i]);                //发送字符
  11.                         i++;                                            //下一个字符
  12.                 }
  13.                 delay();                                                  //延时
  14.         }
  15. }

复制代码


上面就是我写的串口发送程序。每隔一段时间发送一次字符串MESSAGE。
while(1)放在main()主函数里面,while(1)前面是一些初始化操作。while(1)里面就是单片机不断循环的操作。
那么while(1)前面的东西只执行一次,里面的东西不断循环。while(1)里面的东西也可以是空的就是什么都不做,只允许前面的东西就不断空循环。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top