打印

新手在编译C51中遇到问题

[复制链接]
2177|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lijgxs|  楼主 | 2008-12-24 10:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

各位老师:这是我第一个用C编写的程序:依次点亮接在P1口上的LED,并无限循环,程序是书中抄来的,我感觉也是正确的,但编译没通过,不知是什么原因?
#include "reg51.h"
  void  main()
  {
      data  unsigned  char  ledbuff;
      for(;;){
        ledbuff=0x01;P1=ledbuff;
          delay(1000);
        ledbuff=0x02;P1=ledbuff;
          delay(1000);
        ledbuff=0x04;P1=ledbuff;
          delay(1000);
        ledbuff=0x08;P1=ledbuff;
          delay(1000);
        ledbuff=0x10;P1=ledbuff;
          delay(1000);
        ledbuff=0x20;P1=ledbuff;
          delay(1000);
        ledbuff=0x40;P1=ledbuff;
          delay(1000);
        ledbuff=0x80;P1=ledbuff;
          delay(1000);
        }
    }
  void  delay(x)
  unsigned  int  x;
  { 
    if (x==0)  return;
    while(x!=0)  x--;
}

编译提示信息:
MYPOJECT.C(7): Warning C206:'delay':missing fuction-prototype
MYPOJECT.C(7): error C267:'delay':requires ANSI-style prototype
MYPOJECT.C(26): error C231:'-delay':redefinition

相关帖子

沙发
zhiganglet| | 2008-12-24 14:56 | 只看该作者

我也是新人,一起学习~~

#include "reg51.h"
void delay(unsigned int x);     //函数声明
void  main()

        data  unsigned  char  ledbuff;
        for(;;){
        ledbuff=0x01;P1=ledbuff;
          delay(1000);
        ledbuff=0x02;P1=ledbuff;
          delay(1000);
        ledbuff=0x04;P1=ledbuff;
          delay(1000);
        ledbuff=0x08;P1=ledbuff;
          delay(1000);
        ledbuff=0x10;P1=ledbuff;
          delay(1000);
        ledbuff=0x20;P1=ledbuff;
          delay(1000);
        ledbuff=0x40;P1=ledbuff;
          delay(1000);
        ledbuff=0x80;P1=ledbuff;
          delay(1000); 
                  }     
}
  void  delay(unsigned int x) //定义参数类型
  {    
    if (x==0)  return;
    while(x!=0)  x--;
}



linking...
Program Size: data=10.0 xdata=0 code=88
"rttrf" - 0 Error(s), 0 Warning(s).

使用特权

评论回复
板凳
lijgxs|  楼主 | 2008-12-25 07:58 | 只看该作者

少了函数申明

感谢楼上的兄弟。鄙人是花了整整三天时间,一口气把C51的所有语法都看了一遍,还是没有找到原因,差一点失去用C编程的信心了,看了楼上兄弟的提示,终于知道是少了函数申明。关键是鄙人看不懂提示信息。
再次感谢楼上的兄弟。

使用特权

评论回复
地板
djjyi| | 2008-12-25 11:57 | 只看该作者

re

实际上你也可以先写子函数 然后再写主函数  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

3

帖子

0

粉丝