打印
[STM32F1]

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

[复制链接]
1009|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 | 只看该作者

继续加括号。


使用特权

评论回复
5
电子过客|  楼主 | 2016-7-29 11:25 | 只看该作者

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

使用特权

评论回复
6
玄德| | 2016-7-29 11:27 | 只看该作者
电子过客 发表于 2016-7-29 11:25
if(((  Warning_Collect_temper/10 )


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


使用特权

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

Warning_Collect_temper  定义浮点型就可以了

使用特权

评论回复
8
mmuuss586| | 2016-7-29 20:08 | 只看该作者
改成10.0看下;

使用特权

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

本版积分规则

54

主题

205

帖子

2

粉丝