中断、变量的问题

2019-03-24 12:46发布

我在main.c里定义了一个变量A,然后在fun.c里用extern声明了这个变量,fun.c的一个函数fun24()在一个while循环下使用了变量A,在中断函数中,触发中断,则A加1,然后如果我在int main()里直接调用fun24()的话,液晶显示的A的数值在实时变化,但是如果不在int main()里直接调用fun24()而是先调用fun0(),再通过菜单调用fun24()(就是进入fun24()函数的写的界面)A的值就不会实时变化了,如果退出fun24的界面,再通过菜单进入,A的值会变化,但不是实时变化,就是保持一个值不变,不知道是什么原因了,我觉得逻辑上来看应该不会出现这样的问题呀?请求大家帮忙,谢谢。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
lr2131
2019-03-25 06:03
extern volatile ulong Pulse_N1 = 0;//定义
extern volatile ulong Pulse_N1;//声明
类似的全局变量在定义和声明时都加上volatile ,防止被编译优化,再试试。

一周热门 更多>

相关问题

    相关文章