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

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条回答
zrdzpcb
1楼-- · 2020-01-22 22:21
 精彩回答 2  元偷偷看……
dsp56789
2楼-- · 2020-01-23 00:26
这跟编译有关系吧
gongngei
3楼-- · 2020-01-23 03:37
countz1和powerpoint是否同一类型?
gy54321
4楼-- · 2020-01-23 08:43
编译器的优化等级太高了吧!
liyang121316
5楼-- · 2020-01-23 13:11
是不是被优化掉了,定义成volatile的如何
zrdzpcb
6楼-- · 2020-01-23 17:12
 精彩回答 2  元偷偷看……

一周热门 更多>