找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3067|回复: 0
打印 上一主题 下一主题
收起左侧

ERROR L104: MULTIPLE PUBLIC DEFINITIONS单片机库函数的头文件总是出问题?

[复制链接]
跳转到指定楼层
楼主
ID:284936 发表于 2018-12-1 17:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/********************************************
*    通用头文件
********************************************/
#include "general.h"


/********************************************
*    main主函数
********************************************/
void main()
{
        
//        P1 =0xfe;
        while(1)
        {
               
                run1_led();                //流水灯函数
                display(0,1);              //数码管动态扫描函数
//                display(1,2);
//                display(2,3);
//                display(3,4);
//                display(4,5);
//                display(5,6);
               
        }
               
}
通用头文件__GENERAL_H_头文件    (包含所有调用函数头文件)
#ifndef __GENERAL_H_
#define __GENERAL_H_
#include <reg52.h>
#include <intrins.h>
#include "def.h"
#include "running_led.h"
#include "delay.h"
#include "display_led.h"
#endif

宏定义__DEF_H_头文件
#ifndef __DEF_H_
#define __DEF_H_
#define uchar unsigned char
#define uint unsigned int
#endif
延时函数__DELAY_H_头文件
#ifndef __DELAY_H_
#define __DELAY_H_
#include "general.h"
void delay(uint z);
#endif
延时函数.C文件
/********************************************
*   包含头文件
********************************************/
#include "delay.h"
/********************************************
*   延时函数
********************************************/
void delay(uint z)
{
        uint x,y;
        for(x = z;x > 0; x--)
                for(y = 110;y > 0;y--);
}
数码管扫描__DISPLAY_LED_H_头文件
#ifndef __DISPLAY_LED_H_
#define __DISPLAY_LED_H_
#include "general.h"
sbit dula = P2^6;
sbit wela = P2^7;
uchar code tabledu[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x7b,0x71};
uchar code tablewe[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void display(uchar we,uchar du);
#endif
数码管扫面.C文件
/********************************************
*   包含头文件
********************************************/
#include "display_led.h"
/********************************************
*    扫描函数
********************************************/
void display(uchar we,uchar du)
{
        dula = 1;
        P0 = tabledu[du];
        dula = 0;
        delay(5);
        P0 = 0XFF;
        wela = 1;
        P0 = tablewe[we];
        wela = 0;
}
为什么编译会出现好多警告
Rebuild target 'Target 1'
assembling STARTUP.A51...
compiling delay.c...
compiling main.c...
Objects\main.c(17): warning C206: 'run1_led': missing function-prototype
compiling display_led.c...
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  TABLEWE
    MODULE:  .\Objects\main.obj (MAIN)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  TABLEDU
    MODULE:  .\Objects\main.obj (MAIN)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  TABLEWE
    MODULE:  .\Objects\display_led.obj (DISPLAY_LED)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  TABLEDU
    MODULE:  .\Objects\display_led.obj (DISPLAY_LED)
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?CO?DELAY
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?CO?MAIN
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
    SEGMENT: ?PR?_DISPLAY?DISPLAY_LED
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  RUN1_LED
    MODULE:  .\Objects\main.obj (MAIN)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  RUN1_LED
    MODULE:  .\Objects\main.obj (MAIN)
    ADDRESS: 0094H
Program Size: data=10.0 xdata=0 code=152
Target not created.
Build Time Elapsed:  00:00:01

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表