小德GD 发表于 2013-2-20 11:08:16

keil中怎么在程序里屏蔽掉#pragmasrc?

Build target 'Target 1'
assembling STARTUP.A51...
compiling DE.c...
linking...
BL51 BANKED LINKER/LOCATER V6.22 - SN: K1RMC-K5I9KC
COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2009
"STARTUP.obj",
"DE.obj"
TO "DE"
RAMSIZE(256)
*** FATAL ERROR L256: MODULE CONTAINS DUPLICATE SEGMENT NAMES
    SEGMENT: ?PR?T?DE
    MODULE:DE.obj (DE)
Target not created



在网上找到了这样的答案

(6)L210程序前生成SRC语句Buildtarget'Target1'

设置上的问题,在程序里屏蔽掉#pragmasrc即可。

但不知怎么在程序里屏蔽掉#pragmasrc?

子鱼 发表于 2013-2-20 13:10:32

名字重复

i_kkyu 发表于 2013-2-20 13:15:05

DE.c   贴出来看看。
PR 是啥

小德GD 发表于 2013-2-20 19:52:45

子鱼 发表于 2013-2-20 13:10 static/image/common/back.gif
名字重复

什么名字重复?

小德GD 发表于 2013-2-20 19:53:55

i_kkyu 发表于 2013-2-20 13:15 static/image/common/back.gif
DE.c   贴出来看看。
PR 是啥

#include<reg52.h>
#include<intrins.h>
#include<two.h>
#define uchar unsigned char
uchar bb,aa,num,num1;
void main()
{
TMOD=B00010001;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
EA=1;
ET0=1;
ET1=1;
TR1=1;
TR0=1;
aa=B11111110;
bb=B11111110;
   while(1);

}
void t()interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
    if(num==20)
    {
        num=0;
        P0=aa;
        aa=_crol_(aa,1);
    }

}
void T()interrupt 3
{
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
num1++;
    if(num1==30)
        {
        num1=0;
        P0=bb;
        bb=_crol_(bb,1);
        }



}   

zpxa001 发表于 2013-2-20 21:08:42

void t()interrupt 1
void T()interrupt 3

两个函数的名字只是大小写的区别,连接器不许可:
A module contains duplicate segment names. This occurs when the C source contains two identical function names, that differ only in lower/uppercase letters.

小德GD 发表于 2013-2-21 10:38:31

zpxa001 发表于 2013-2-20 21:08 static/image/common/back.gif
void t()interrupt 1
void T()interrupt 3



恩,改好了,行了,谢谢
页: [1]
查看完整版本: keil中怎么在程序里屏蔽掉#pragmasrc?