找回密码
 立即注册

QQ登录

只需一步,快速开始

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

ERROR L104: MULTIPLE PUBLIC DEFINITIONS

[复制链接]
跳转到指定楼层
楼主
ID:816115 发表于 2020-9-1 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编译的时候出现的问题,请问怎么解决?
Build target 'Target 1'
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  A
    MODULE:  .\Objects\main.obj (MAIN)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  A
    MODULE:  .\Objects\lcd1602.obj (LCD1602)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  A
    MODULE:  .\Objects\key.obj (KEY)
Program Size: data=100.1 xdata=0 code=2184
Target not created.

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

使用道具 举报

沙发
ID:816115 发表于 2020-9-1 21:06 | 只看该作者
#include "reg52.h"
#include "main.h"
#include "lcd1602.h"
#include "key.h"
//#include "UART.h"
#define M 5.12
//#define N 360


//u8 A=0;
u8 G;
u8 Fre=0;
u8 n;
u8 n1;
u8 Pha;
u8 k=0;
u8 i;
u8 j;
unsigned int a[16]={0};
unsigned int b[16]={0};

u8 Frequency1[2] = "F:";
u8 Frequency[]="";
u8 Phase1[2] = "P:";
u8 Phase[] = "";
u8 line = 0;        // μ±Ç°ËùÔúDD 0->μúò»DD 1->μú¶tDD
u8 freNum = 2, phaNum=2;

// Ñóê± x oáÃë
void delay_ms(u16 xms)
{
        u16 x, y;
        for (x=0; x<xms; x++)
                for(y=0; y<123; y++);
}

void addNum(u8 num)
{
        if (line == 0)
        {
                write_com(0x80+freNum);        // μúò»DD
                Frequency[freNum++] = num;
                Frequency[freNum] = 0;
        }
        else
        {
                write_com(0x80+0x40+phaNum);        // μú¶tDD
                Phase[phaNum++] = num;
                Phase[phaNum] = 0;
        }
        write_data(num);
}

//void jinzhi()
//{
//         u8 i=0;
//                n=sizeof(Frequency);
//        for(i=1;i<n;i++)
//        {
//                Fre=Fre+Frequency[i]*10^(n-i);
//        }
//        n1=sizeof(Phase);
//        for(i=1;i<n;i++)
//        {
//                Pha=Pha+Phase[i]*10^(n-i);
//        }
//       
//        A=(1000000/(Fre*M))-1;
//        //A=(int)A;
//        G=Pha/360*256;
//        //G=(int)G;
//}
//void shiliu(Fre)
//{
//        unsigned int a[16]={0};
//        unsigned int b[16]={0};
//                unsigned int j=0;
//                while(Fre!=0)
//                {
//                        a[j]=Fre%2;
//                        Fre/=2;
//                        j++;
//                }
//                for(j=15;j>=0;j--)
//                {
//                        b[15-j]=a[j];
//                }
//                return b[16];
//        }


//          u8 a[];  
//    u8 i = 0;
//        //int j=0;
//        //int k=0;
//         while (Fre != 0)
//        {
//        a[i] = Fre % 2;
//        Fre /= 2;  
//        i++;
//    }
//    for(i = 15; i >= 0; i--)
//                {
//       a[i];
//        }
//}
unsigned int A;
int main()
{
        u8 key = 0;
       
        Init_LCD();        // 3õê¼»ˉLCD1602
        //InitUART();        // 3õê¼»ˉ′®¿ú
       
        write_com(0x80+0x40);        // μú¶tDD
        Puts_to_LCD1602(Phase1);
        write_com(0x80);        // μúò»DD
        Puts_to_LCD1602(Frequency1);

        while(1)
        {
                //u8 i;
                key = KeyScan();
                switch(key)
                {
                //μúò»DD¼üÖμÂë
                case 0x77:// 1
                        addNum('1');
                        break;
                case 0x7b:// 2
                        addNum('2');
                        break;
                case 0x7d:// 3
                        addNum('3');
                        break;
                case 0x7e:// è·¶¨
                        //n=sizeof(Frequency);
                  //Frequency=1000000/(Frequency*M)-1;
                  //Puts_to_SerialPort(Frequency);
                        //Putc_to_SerialPort(' ');
                        //Puts_to_SerialPort(Phase);
                        //Puts_to_SerialPort("\r\n");
                        //Fre=0;
                //for(i=3;i<n;i++)
//{
                //Fre=Fre+Frequency[i]*10^(n-i);
//}       
                //A=(1000000/Fre/M)-1;
                //P0=(int)A;
                //G=Phase/N;
                //P0=(int)G;
                //P3=(int)A;
                //jinzhi();
                //shiliu();
                //u8 k=0;
                //unsigned int A=0;
                n=sizeof(Frequency);
                //u8 i;
        for(i=1;i<n;i++)
        {
                Fre=Fre+Frequency[i]*10^(n-i);
        }
//        n1=sizeof(Phase);
//        for(i=1;i<n;i++)
//        {
//                Pha=Pha+Phase[i]*10^(n-i);
//        }
//       
        A=((1000000/(Fre*M))-1);
        //A=(int)A;
        //G=Pha/360*256;
        //G=(int)G;
        //unsigned int a[16]={0};
        //unsigned int b[16]={0};
                while(A!=0)
                {
                        a[j]=A%2;
                        A/=2;
                        j++;
                }
                for(j=15;j>=0;j--)
                {
                        b[15-j]=a[j];
                }
               
                for(k=0;k<8;k++)
                {
                        P3=b[k];
                }
                key = KeyScan();
                while(key==0x7e)
                {
                        for(k=8;k<16;k++)
                        {
                                P3=b[k];
                        }
                }
                        break;
               
                //μú¶tDD¼üÖμÂë
                case 0xb7:// 4
                        addNum('4');
                        break;
                case 0xbb:// 5
                        addNum('5');
                        break;
                case 0xbd:// 6
                        addNum('6');
                        break;
                case 0xbe:// Çå3y
                        if (line == 0)
                        {
                                if (freNum > 2)
                                {
                                        freNum--;
                                        write_com(0x80+freNum);        // μúò»DD
                                        write_data(' ');
                                        write_com(0x10);        // 1a±ê×óòÆò»Î»
                                        Frequency[freNum] = 0;
                                }
                        }
                        else
                        {
                                if (phaNum > 2)
                                {
                                        phaNum--;
                                        write_com(0x80+0x40+phaNum);        // μúò»DD
                                        write_data(' ');
                                        write_com(0x10);        // 1a±ê×óòÆò»Î»
                                        Phase[phaNum] = 0;
                                }
                        }
                        break;
               
                //μúèyDD¼üÖμÂë
                case 0xd7:// 7
                        addNum('7');
                        break;
                case 0xdb:// 8
                        addNum('8');
                        break;
                case 0xdd:// 9
                        addNum('9');
                        break;
                case 0xde:// éÏ
                        line = 1-line;
                        if (line == 0)
                        {
                                write_com(0x80+freNum);        // μúò»DD
                                Puts_to_LCD1602(Frequency+freNum);
                        }
                        else
                        {
                                write_com(0x80+0x40+phaNum);        // μú¶tDD
                                Puts_to_LCD1602(Phase+phaNum);
                        }
                        break;
               
                //μúËÄDD¼üÖμÂë
                case 0xe7:// .
                        n1=sizeof(Phase);
        for(i=1;i<n;i++)
        {
                Pha=Pha+Phase[i]*10^(n-i);
        }
             G=Pha*256/360;
                        P3=(int)G;
                        break;
                case 0xeb:// 0
                        addNum('0');
                        break;
                case 0xed://
                        break;
                case 0xee:// ÏÂ
                        line = 1-line;
                        if (line == 0)
                        {
                                write_com(0x80+freNum);        // μúò»DD
                                Puts_to_LCD1602(Frequency+freNum);
                        }
                        else
                        {
                                write_com(0x80+0x40+phaNum);        // μú¶tDD
                                Puts_to_LCD1602(Phase+phaNum);
                        }
                        break;
                case 0:
                        break;
                }
        }
}
main.c代码是这个
回复

使用道具 举报

板凳
ID:816115 发表于 2020-9-1 21:06 | 只看该作者
#ifndef __main_h__
#define __main_h__

#include <reg52.h>
#include <intrins.h>

typedef unsigned char u8;
typedef unsigned int  u16;
extern  unsigned int A=0;

void delay_ms(u16 xms);        // Ñóê± x oáÃë

#endif

main.h是这个
回复

使用道具 举报

地板
ID:739545 发表于 2020-9-2 10:55 | 只看该作者
extern  unsigned int A=0;在1602,main,key里面重复定义了。自己查下这几个.h文件
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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