stm32在iar下调试遇到的问题

[复制链接]
2817|4
 楼主| btiger2000 发表于 2011-4-1 08:35 | 显示全部楼层 |阅读模式
很奇怪的现象,之前调试的好好的,昨天,改了点代码,忽然运行不正常,
一个if语句

if(a<b)
{
}
a是浮点数,b是常数

单步跟踪,a>b,居然也执行。

clean,rebuild也解决不了;

怀疑是不是ram空间不足,堆栈有溢出,看了下RAM才使用了不到16k,而芯片内部有64kram,太郁闷了。哪位大虾给解解或!
airwill 发表于 2011-4-1 09:03 | 显示全部楼层
我倒是没有做过两种不同编码类型的数据直接比较. 是不是编译器就不支持这样的比较.
如果实在没有办法, 是否可以先把浮点数转换成 整数再比较呢?
 楼主| btiger2000 发表于 2011-4-1 09:32 | 显示全部楼层
单步调试,看if内的值是0,但是还是执行if语句!
 楼主| btiger2000 发表于 2011-4-1 10:47 | 显示全部楼层
还是堆栈的设置问题,堆栈改大,就OK了
机器猫咪咪 发表于 2011-4-10 16:16 | 显示全部楼层
顶,这是经验之谈!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

81

主题

1179

帖子

6

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