打印

一个程序问题

[复制链接]
1687|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
morrisk|  楼主 | 2013-1-3 15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Unsigned int x,temp;/
Unsigned char tab[3];
Void main()
{

      Left();
      EA=1;
      ET1=1;
      IT1=1;
While(1)
    {
         If(temp>0)
            {
                  EA=0;
                  Temp=0;
                  Fuzhi();//这个函数为tab数组赋值
                //X=tab[2];
                  Charge();
                    EA=1;
              }
     }
}
Void jiema() interrupt 2
{
Temp=1;//置一一个标志
}
Void Charge()
{

        Switch(X)//写成Switch(tab[2])就不对了,下面的都不执行,而去执行主函数left()
         {
                Case 1:……  
               Case 2:……

                 Default:break
          }
}
沙发
zyf部长| | 2013-1-3 15:45 | 只看该作者
跟踪一下SWITCH里德X是否等于TAB[2]

使用特权

评论回复
板凳
morrisk|  楼主 | 2013-1-3 15:46 | 只看该作者
但是为什么会出现不等于的现象呢?

使用特权

评论回复
地板
zyf部长| | 2013-1-3 15:47 | 只看该作者
你先试了再说

使用特权

评论回复
5
morrisk|  楼主 | 2013-1-3 15:48 | 只看该作者
加入一个全局变量X,这个程序是可以执行的,但是不引入X为什么有错误呢?

使用特权

评论回复
6
morrisk|  楼主 | 2013-1-3 15:48 | 只看该作者
引入X后,在主函数的while(1)中再加入一个函数的话,下边的if里的函数有的时候就执行不到,这又是为什么呢

使用特权

评论回复
7
pengf| | 2013-1-3 15:50 | 只看该作者
你没发现你的X是个int型变量

使用特权

评论回复
8
小小猫咪| | 2013-1-3 15:50 | 只看该作者
对,转换了一次,你跟踪一下看呢,换我来,我也是这样做。

使用特权

评论回复
9
morrisk|  楼主 | 2013-1-3 15:51 | 只看该作者
哦,知道了,多谢

使用特权

评论回复
10
morrisk|  楼主 | 2013-1-3 15:51 | 只看该作者
先结贴了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

粉丝