定义一个全局变量,在子函数和中断函数都用,出现错误

2020-02-02 09:38发布

我现在在做一个项目,情况是这样的。
1.我设置了一个数组time[7]={59,20,23,25,10,4,12}的全局变量,是秒,分,时,日,月,周,年的值。
2.再设置了一个uchar T的全局变量,再中断用它来标志显示,是秒还是分,时,日,月,周,年。
3.按键子函数,按键按下,把日期的某个值赋给一个全局变量,temp,比如秒的值,temp=time[0]; 然后T=1;
4.根据temp的值和标志位T的值,我在定时器中断中扫描显示秒的值。

问题出现了:当我按下设置键的时候,比如我按下按键1,1次,要显示秒,然后把temp=time[0]; T=1;报警器的端口P3.4就叫了。我把全局变量time[0],T,去掉就能用了,time[0],T,在中断中也要用。

我想问下:是不是全局变量的问题哇,子函数和中断函数都用来全局函数,是不是就会出现这个问题哇?第一次遇到,请帮我分析分析,我现在在尝试解决!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
eduhf_123
1楼-- · 2020-02-02 10:53
问题描述不清晰。
downtoearth
2楼-- · 2020-02-02 15:35
楼主你这样说搅到人一头雾水,倒不如直观贴出程序来。
20_qin
3楼-- · 2020-02-02 18:41
报警器的端口P3.4就叫了
这句话不明白,与全局变量和中断之间是什么关系?
应该不是全局变量的问题,检查是不是子函数和中断函数之间有什么逻辑冲突。
devcang
4楼-- · 2020-02-02 19:38
 精彩回答 2  元偷偷看……
albert_w
5楼-- · 2020-02-02 23:06
能首先把问题说清楚么? 大家对你的应用没兴趣。 你正确抽象为C问题后再来讨论吧。。。

一周热门 更多>