中断中不能调用全局变量,求大神忙帮忙

2020-01-21 21:39发布

我是用十速的IC,用提供的TICE99IDE编译调试的,全部用C语言,其中中断函数里面调用变量的句子为

                if(countz1==powerpoint)
                {
                        TRACE_en=11;
                }
               
结果没有作用,而直接用实数就可以
                if(countz1==40)
                {
                        TRACE_en=11;
                }

经过我测试,只要是在主函数里面给powerpoint赋值都不能实现,在中断中赋值就可以实现。
定义powerpoint我试过两种方式:
volatile        unsigned        char    powerpoint;和   unsigned        char    powerpoint;
结果都是不能实现的,求各路大神求教,小弟给跪舔
               
           
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
jxcrg_t35
1楼-- · 2020-01-22 00:12
我没用过TICE99IDE,是不是和具体编译器有关
witlong
2楼-- · 2020-01-22 00:49
 精彩回答 2  元偷偷看……
zrdzpcb
3楼-- · 2020-01-22 06:30
witlong 发表于 2014-10-7 19:39
编译时没什么警告吗?

编译没错误没提醒,完美通过,不过在实物上不可以。
zrdzpcb
4楼-- · 2020-01-22 10:06
jxcrg_t35 发表于 2014-10-7 18:39
我没用过TICE99IDE,是不是和具体编译器有关

这个我也不清楚。。。供应商那边的工程师说没问题的
zrdzpcb
5楼-- · 2020-01-22 14:29
实验证明用位判断可以,但是用值不可以
@lonely
6楼-- · 2020-01-22 20:23
"中断中不能调用全局变量"   这到第一次听说,应该是你程序处理的问题

一周热门 更多>