2024年3月14日发(作者:)

KeilC中的一些ERROR和

Keil C 中的一些ERROR和WARNING

/doc/,B100.C(12):

下:

#include

#include

void delay(int);

unsigned

{int i,j;

P2=0xff;

while(1)

{P2=0x7f;

for(i=0;i<8;i++)

{P0=dis_code[i];

P2=_crol_[j,1];

j=P2;

delay(1);

}

}

}

void delay(int x)

{int i;

for(i=0;i

}

问题在于P2=_crol_[j,1];

应该改为P2=_crol_(j,1);

2.从网上COPY的程序执行类似的功能,有时候如果现象没出现,

char code

dis_code[8]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a}; main()

error

C216: subscript on non-array or too many dimensions 原程序如

或者不明显,可以调整下延迟函数。

3.数码管的扫描显示0—7,延迟函数的延迟时间在1ms左右,是

通过人眼的视觉暂留而产生的现象,

如果延迟函数设臵的太大,则看不到持续显示0—7的现象。

4.用KEILC51调试程序时,出现错误提示为?unprintable

character 0XA1 skipped?用KEILC51调试程序时,出现错误提示

为?unprintable character 0XA1 skipped?的问题。

输入法的问题。在程序行输入中文模式下标点符号,不会显示,

但是会出现标题这样的问题。

打上//马上就能看到没有显示的标点符号

5.*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR

OVERLAY PROCESS

SEGMENT: ?PR?_COMPARE?TESTLCD

说明:程序中有些函数(或片段)以前(调试过程中)从未被调

用过,或者根本没有调用它的语句。

这条警告信息前应该还有一条信息指示出是哪个函数导致了这一

问题。只要做点简单的调整就可以。

不理它也没什么大不了的。解决方法:去掉COMPARE()函数或利

用条件编译#if …..#endif,可保留该函数并不编译。

/doc/,B99.C(19):

C141: syntax error near '{', expected 'const'

程序如下:

#include

#include

sbit LEDP=P1^0;

unsigned char counter;

main()

{TMOD=0x01;

TH0=0x3C;

TL0=0xB0;

error