标题: 写双机通信的时候,遇到这种问题,怎么解决? [打印本页]

作者: HTQQ123    时间: 2017-7-7 16:38
标题: 写双机通信的时候,遇到这种问题,怎么解决?
#include<reg51.h>
void  Delay(int Time_ms);

void main(void)
{
        SCON = 0x40;
        TMOD = 0x20;
        PCON = 0x00;
        TH1 = 0xF4;
        TL1 = 0xF4;                                                                          
        TI = 0;                                                           
        TR1 = 1;


        while(1)
        {
        SBUF = P1;
        while(TI == 0);
         TI   = 0;
         Delay(200);
         }
        return;
}

void Delay(int Time_ms)
{
        int i;
        unsigned char j;
        for(i=0;i<Time_ms;i++)
                {
                  for(j=0;j<150;j++)
                  {
                  }
                }
        }





compiling LYFS.c...
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  _DELAY
    MODULE:  LYFS.obj (LYFS)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  MAIN
    MODULE:  LYFS.obj (LYFS)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?_DELAY?LANYA
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?MAIN?LYFS
*** ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
    SYMBOL:  MAIN
    MODULE:  C:\KEIL\C51\LIB\C51S.LIB (?C_INIT)
    ADDRESS: 0033H
Program Size: data=10.0 xdata=0 code=327
目标未创建



作者: 虫虫飞    时间: 2017-7-7 20:13
你这个没错误啊
作者: wulin    时间: 2017-7-8 08:30
发送变化数据,没有发现错误。
#include<reg51.h>
void  Delay(int Time_ms);

void main(void)
{
        unsigned char x;
        TMOD = 0x20;
        PCON = 0x00;
        TH1 = 0xF4;
        TL1 = 0xF4;                                                                          
        SCON = 0x40;
        TI = 0;                                                           
        TR1 = 1;
        x=0xff;
       
        while(1)
        {
                SBUF = P1;
                while(TI == 0);
                TI   = 0;
                Delay(2000);
                x--;
                if(x==0x00)
                        x=0xff;
                P1=x;
        }
        return;
}

void Delay(int Time_ms)
{
        int i;
        unsigned char j;
        for(i=0;i<Time_ms;i++)
                for(j=0;j<150;j++);
}

作者: luoluoluo136    时间: 2017-7-11 11:28
main函数还return个毛线。。。
作者: ddddaxia    时间: 2017-7-11 19:07
你定义了两个delay函数.重复定义!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1