程序问题

[复制链接]
345|14
手机看帖
扫描二维码
随时随地手机跟帖
chenho|  楼主 | 2018-1-7 17:06 | 显示全部楼层 |阅读模式

中断后
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
}
}
gongche| | 2018-1-7 17:15 | 显示全部楼层

先把程序对齐再说吧

使用特权

评论回复
huwr| | 2018-1-7 17:15 | 显示全部楼层

优化掉了!

使用特权

评论回复
chenho|  楼主 | 2018-1-7 17:17 | 显示全部楼层
什么意思?

使用特权

评论回复
huanghuac| | 2018-1-7 17:19 | 显示全部楼层
3楼正解

使用特权

评论回复
chenho|  楼主 | 2018-1-7 17:23 | 显示全部楼层
了解了,谢谢

使用特权

评论回复
happy_10| | 2018-1-7 17:28 | 显示全部楼层
跟踪一下SWITCH里德X是否等于TAB[2]

使用特权

评论回复
bqyj| | 2018-1-7 17:30 | 显示全部楼层
但是为什么会出现不等于的现象呢?

使用特权

评论回复
wenfen| | 2018-1-7 17:32 | 显示全部楼层

楼主试试

使用特权

评论回复
zhuhuis| | 2018-1-7 17:33 | 显示全部楼层

加入一个全局变量X,这个程序是可以执行的,但是不引入X为什么有错误呢?

使用特权

评论回复
tian111| | 2018-1-7 17:35 | 显示全部楼层
引入X后,在主函数的while(1)中再加入一个函数的话,下边的if里的函数有的时候就执行不到,这又是为什么呢

使用特权

评论回复
songqian17| | 2018-1-7 17:39 | 显示全部楼层
你没发现你的X是个int型变量

使用特权

评论回复
gongche| | 2018-1-7 17:42 | 显示全部楼层

对,转换了一次,你跟踪一下看呢

使用特权

评论回复
huwr| | 2018-1-7 17:45 | 显示全部楼层
换我来,我也是这样做。

使用特权

评论回复
chenho|  楼主 | 2018-1-7 17:49 | 显示全部楼层
哦,我知道了,多谢

使用特权

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

本版积分规则

748

主题

9853

帖子

5

粉丝