OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4620|回复: 5

关于全局变量的问题

[复制链接]

29

主题

311

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2016-5-21
在线时间
199 小时
发表于 2017-6-14 18:22:15 | 显示全部楼层 |阅读模式
1金钱
C0851F020, 代码如下

uint8  count =0;


void test(void)
{
代码处理,延时处理
…………………………
    if(count ==1)
  {
    count=0;
}
  count++;
}

声明了全局变量,并赋初值0,然后运行,死活进不了if循环,单步运行发现,count刚开始就编变成了 0X9F,然后一直++,所以一开始进不来==1,这个奇怪,为啥

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165359
金钱
165359
注册时间
2010-12-1
在线时间
2110 小时
发表于 2017-6-14 18:22:16 | 显示全部楼层
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2017-7-7
在线时间
1 小时
发表于 2017-7-7 23:57:07 来自手机 | 显示全部楼层
我也遇到了这个问题,请问你解决了吗?
回复

使用道具 举报

2

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
821
金钱
821
注册时间
2013-6-5
在线时间
141 小时
发表于 2017-7-9 22:03:18 | 显示全部楼层
本帖最后由 zhxzhx 于 2017-7-9 22:04 编辑

优化级别太高了前面加 static 或在 main 里赋值
回复

使用道具 举报

29

主题

311

帖子

0

精华

高级会员

Rank: 4

积分
747
金钱
747
注册时间
2016-5-21
在线时间
199 小时
 楼主| 发表于 2017-7-10 21:08:37 | 显示全部楼层
markzz 发表于 2017-7-7 23:57
我也遇到了这个问题,请问你解决了吗?

我是在使用前又赋值
回复

使用道具 举报

1

主题

40

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3526
金钱
3526
注册时间
2017-5-23
在线时间
255 小时
发表于 2017-7-19 11:55:43 | 显示全部楼层
用u4和stc89c52测试没问题,可能是编译器的问题,可以在仿真里看看汇编。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-12-19 04:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表