[STM32F1]

这句话的逻辑和优先级有错吗

[复制链接]
1000|7
手机看帖
扫描二维码
随时随地手机跟帖
电子过客|  楼主 | 2016-7-29 11:02 | 显示全部楼层 |阅读模式
if(( Warning_Collect_temper/10 <= Warning_High_temper-Warning_Htemper_Hys)&&( Warning_Htemper_run==1))
Warning_Collect_temper/10的结果是24.2  
Warning_High_temper-Warning_Htemper_Hys的结果是 24
这个条件应该不成了 进入不了循环 可是 仿真时候进入循环了

               

玄德| | 2016-7-29 11:05 | 显示全部楼层

可能是优先级问题。
多加几个括号试试。


使用特权

评论回复
电子过客|  楼主 | 2016-7-29 11:14 | 显示全部楼层
玄德 发表于 2016-7-29 11:05
可能是优先级问题。
多加几个括号试试。

if(( Warning_Collect_temper/10 <= (Warning_High_temper-Warning_Htemper_Hys))&&( Warning_Htemper_run==1))       
这样也不可以

使用特权

评论回复
玄德| | 2016-7-29 11:17 | 显示全部楼层

继续加括号。


使用特权

评论回复
电子过客|  楼主 | 2016-7-29 11:25 | 显示全部楼层

if(((  Warning_Collect_temper/10 )<= (Warning_High_temper-Warning_Htemper_Hys))&&( Warning_Htemper_run==1))       
没法再加了

使用特权

评论回复
玄德| | 2016-7-29 11:27 | 显示全部楼层
电子过客 发表于 2016-7-29 11:25
if(((  Warning_Collect_temper/10 )


把长算式分解开,看看每一步的结果。


使用特权

评论回复
电子过客|  楼主 | 2016-7-29 12:34 | 显示全部楼层
玄德 发表于 2016-7-29 11:27
把长算式分解开,看看每一步的结果。

Warning_Collect_temper  定义浮点型就可以了

使用特权

评论回复
mmuuss586| | 2016-7-29 20:08 | 显示全部楼层
改成10.0看下;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

205

帖子

2

粉丝