打印
[ZLG-ARM]

奇怪现象,全局变量自动变零了。。。

[复制链接]
1928|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
geniusnf|  楼主 | 2007-10-29 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
geniusnf|  楼主 | 2007-10-29 16:21 | 只看该作者

程序段

    while (1)
        {
        
                 
                if(。。。)
                    {
                  IO0CLR = BEEP;   // 正确,蜂鸣一次                 
        DelayNS(50);
        IO0SET = BEEP;
        k++;
        if(k>10)
            {
            k*=2;
            }
                   }
             
            
        

使用特权

评论回复
板凳
computer00| | 2007-10-29 16:22 | 只看该作者

被谁改了吧.

使用特权

评论回复
地板
geniusnf|  楼主 | 2007-10-29 16:23 | 只看该作者

没有另外对它的操作阿

没有另外对它的操作阿

使用特权

评论回复
5
geniusnf|  楼主 | 2007-10-29 16:29 | 只看该作者

会不会是它的地址和别的冲突了?

使用特权

评论回复
6
computer00| | 2007-10-29 17:30 | 只看该作者

到底谁被清0了?

使用特权

评论回复
7
hotpower| | 2007-10-29 21:54 | 只看该作者

肯定k被人黑了~~~

使用特权

评论回复
8
geniusnf|  楼主 | 2007-10-30 08:44 | 只看该作者

....

使用特权

评论回复
9
geniusnf|  楼主 | 2007-10-30 09:14 | 只看该作者

把k的定义放到main内部就ok了,可是为什么呢?

使用特权

评论回复
10
computer00| | 2007-10-30 09:31 | 只看该作者

复位重新运行后,全局变量就会被清0的

使用特权

评论回复
11
geniusnf|  楼主 | 2007-10-30 12:43 | 只看该作者

没有复位阿,while(1)循环阿

使用特权

评论回复
12
btiger2000| | 2007-10-30 14:40 | 只看该作者

k是什么型? 会不会溢出了?

使用特权

评论回复
13
geniusnf|  楼主 | 2007-10-30 16:25 | 只看该作者

uint32,溢出?

使用特权

评论回复
14
万凯| | 2007-11-1 16:43 | 只看该作者

volatile

volatile  

使用特权

评论回复
15
geniusnf|  楼主 | 2007-11-2 16:34 | 只看该作者

试一下,谢谢

使用特权

评论回复
16
58722612| | 2007-11-3 16:02 | 只看该作者

优化

k 是全局变量吗?如果不是的话K会被编译器优化的Volatile uint32 k试试

使用特权

评论回复
17
geniusnf|  楼主 | 2007-11-5 09:17 | 只看该作者

是全局变量,Volatile也没用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

30

帖子

0

粉丝