chensheng00 发表于 2012-12-3 15:34:45

keil编译错误

         大家帮我看看,为什么不能对P2口赋值了呢,错误如下图所见
             但是把P2=0xff;去掉之后程序就正确了,这是怎么回事啊?

Tliang 发表于 2012-12-3 15:39:31

楼主你把P2 = 0XFF放在unsigned char temp1下面试试

jiaowoxiaolu 发表于 2012-12-3 15:40:09

P2=0xff;
unsigned char temp1;
这两行换个位置,keil不支持这种变量随时定义随时用

chensheng00 发表于 2012-12-3 15:48:28

jiaowoxiaolu 发表于 2012-12-3 15:40 static/image/common/back.gif
P2=0xff;
unsigned char temp1;
这两行换个位置,keil不支持这种变量随时定义随时用 ...

{:handshake:} 二楼正解

chensheng00 发表于 2012-12-3 15:48:49

jiaowoxiaolu 发表于 2012-12-3 15:40 static/image/common/back.gif
P2=0xff;
unsigned char temp1;
这两行换个位置,keil不支持这种变量随时定义随时用 ...

非常谢谢啊

chensheng00 发表于 2012-12-3 15:53:31

jiaowoxiaolu 发表于 2012-12-3 15:40 static/image/common/back.gif
P2=0xff;
unsigned char temp1;
这两行换个位置,keil不支持这种变量随时定义随时用 ...

为什么把那句P0=0xff;去掉也不会出现错误啊,它也算是随时定义随时使用啊

jiaowoxiaolu 发表于 2012-12-3 16:50:34

chensheng00 发表于 2012-12-3 15:53 static/image/common/back.gif
为什么把那句P0=0xff;去掉也不会出现错误啊,它也算是随时定义随时使用啊 ...

P口已经在reg52.h里面有定义了

Tliang 发表于 2012-12-3 17:00:48

在keil中定义变量只有在最前面。不能写了程序后在定义变量。
void i(void)
{
      char xx, ii, kk;
      code...
}
上面的合法。
void i(void)
{
      code...
      char xx, ii, kk;
      code...
}
上面的非法。
在有些编译器就可以这样做。

chensheng00 发表于 2012-12-3 17:34:03

Tliang 发表于 2012-12-3 17:00 static/image/common/back.gif
在keil中定义变量只有在最前面。不能写了程序后在定义变量。
void i(void)
{


恩,理解了,谢谢
页: [1]
查看完整版本: keil编译错误