STM8S 局部变量的怪事

[复制链接]
2297|3
 楼主| gang8013 发表于 2012-7-16 07:52 | 显示全部楼层 |阅读模式
void EEROM3(void)
{
unsigned int Vef;
unsigned long int Vef3;
unsigned int E;

Vef1=E4000*256+E4001;
Vef3=25000000;
Vef =Vef3/Vef1;
E=Vef*510;
}
这段代码中,这几个变量,设为局部变量,仿真时看到的结果完全不对,设为全部变量就可以,不知为何?还各位路过的指点下!

}

}
sjnh 发表于 2012-7-16 08:03 | 显示全部楼层
这几个变量都没有实际用处,可能被优化掉了;还有种可能就是都在编译时计算好了,因为没有可以改变的量;
如果是全局变量,编译器会认为别地方还会用到这些变量,会照程序执行;
figo20042005 发表于 2012-7-16 15:01 | 显示全部楼层
局部变量程序结束时被释放掉了,仿真对局部变量也支持不好,所以又可能不准
 楼主| gang8013 发表于 2012-7-18 07:58 | 显示全部楼层
这个我同意
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部