yihui184 发表于 2012-10-26 13:24:09

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

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

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

我想问下:是不是全局变量的问题哇,子函数和中断函数都用来全局函数,是不是就会出现这个问题哇?第一次遇到,请帮我分析分析,我现在在尝试解决!

eduhf_123 发表于 2012-10-26 13:30:30

问题描述不清晰。

downtoearth 发表于 2012-10-26 13:53:02

楼主你这样说搅到人一头雾水,倒不如直观贴出程序来。

20_qin 发表于 2012-10-26 14:16:34

报警器的端口P3.4就叫了
这句话不明白,与全局变量和中断之间是什么关系?
应该不是全局变量的问题,检查是不是子函数和中断函数之间有什么逻辑冲突。

devcang 发表于 2012-10-26 16:29:15

也许,变量名重复了呢。


光这样描述,不清楚问题

albert_w 发表于 2012-10-26 16:56:57

能首先把问题说清楚么? 大家对你的应用没兴趣。 你正确抽象为C问题后再来讨论吧。。。
页: [1]
查看完整版本: 定义一个全局变量,在子函数和中断函数都用,出现错误