我用的是iar for msp430v5.5.02这个版本#include
#include "Config.h"
void main(void)
{ int Fx,F;
int k3=18,k2=-40,k1=100,x=3000,y=2,d_x=10;//
while(1)
{
Fx=(-k1*y) -(k2*d_x);
F=-k1*y;
F=k3+x;
}
} 这个简单的程序出现以下的警告
Warning[Pe550]: variable "Fx" was set but never
我查阅相关资料 用 volatile int Fx,F; 警告消失了,然后我用软件仿真 结果无数值,看截图
然后我定义了 Fx 和 F为全局变量,结果就可以了,有了相应的数值,这?????
我新接触IAR,请教大家,有的就可以定义为局部变量,有的必须是全局变量???
各位高手有没有解决的办法????
没使用的局部变量会被编译器直接优化掉,所以看不见是非常正常的。
恩恩 谢谢!是这个样子啊,那可不可设置一下,编译器不优化掉局部变量
好像更改优化设置也是没有作用的,所以你想观察的变量在调试期间可以设置为全局变量或者静态变量。
恩恩!再次谢谢! 我试试看,因为我主循环里要做一个有点复杂的算法,我得一步一步调试一下。
在问一下,处理数据时float型可以设置要保留小数点后几位有效数字吗?? 比如说 保留两位 2.33,我怕小数点后位数太多影响速度。。
浮点数的表示法只有一种,不能定制,所以不能像你说的那样只保留两位。如果怕影响速度的话,是不是可以考虑使用整形来计算。
恩恩,只能这样了,我强制int 丢一些精确度吧 非常感谢