18829206696 发表于 2016-11-10 11:22:05

判断值的问题

各位大神们,我这有个问题!就是弄了两个numeric控件,一个里面写最大值,另一个写最小值,然后串口接收到的数据在这两个numeric的中间的话,led灯显示红灯,不在就是绿灯,但是现在我的结果是不论接收的数据在不在区间内,都是红灯,各位可以告诉我该怎么改吗?代码如下:
                        val=atof(buf);      //buf是串口接收数据的数组
                        GetCtrlVal(panelHandle,PANEL_NUMERIC,&min);
                        GetCtrlVal(panelHandle,PANEL_NUMERIC_2,&max);
                        i=((val>max) && (val<min))==1;
                        if(i==1)
                        {
                                SetCtrlAttribute(panelHandle,PANEL_LED,ATTR_ON_COLOR,VAL_GREEN);
                        }
                        else
                        {
                                SetCtrlAttribute(panelHandle,PANEL_LED,ATTR_ON_COLOR,VAL_RED);
                        }

cvifan 发表于 2016-11-10 14:41:27

val=atof(buf);      //buf是串口接收数据的数组
                        GetCtrlVal(panelHandle,PANEL_NUMERIC,&min);
                        GetCtrlVal(panelHandle,PANEL_NUMERIC_2,&max);
                        if((val>max) || (val<min))
                        {
                              SetCtrlAttribute(panelHandle,PANEL_LED,ATTR_ON_COLOR,VAL_GREEN);
                        }
                        else
                        {
                              SetCtrlAttribute(panelHandle,PANEL_LED,ATTR_ON_COLOR,VAL_RED);
                        }

cvifan 发表于 2016-11-10 14:41:51

试试这个,你用了"与"肯定不对了

18829206696 发表于 2016-11-10 15:29:08

cvifan 发表于 2016-11-10 14:41
试试这个,你用了"与"肯定不对了

好了,太感谢你了:loveliness:

狄阁老 发表于 2016-11-13 00:34:57

设置断点跟踪一下

18829206696 发表于 2016-11-14 11:27:20

狄阁老 发表于 2016-11-13 00:34
设置断点跟踪一下

解决了,谢谢:D
页: [1]
查看完整版本: 判断值的问题