打印

STM8S 局部变量的怪事

[复制链接]
1321|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

粉丝