if(Sumindex==0x08) { Sumindex=0; Read_data_loop_flag=0; Sumdata.One_4byte=Sumdata.One_4byte>>3;//pick up 17bits conversion data //----------------------------------------------------- //小于最小托盘值的话就把采样值等于托盘值 //------------------------------------------------------- if(Sumdata.One_4byte<=Taredata.One_4byte) { finaldata.One_4byte=Sumdata.One_4byte; Mindata.One_4byte=Sumdata.One_4byte; } if((Sumdata.One_4byte-Taredata.One_4byte)<(5*Scalevalue.float_one_4byte)) { finaldata.One_4byte=Sumdata.One_4byte; Mindata.One_4byte=Sumdata.One_4byte; }
时间: 2023-09-18 17:06:56 浏览: 101
这段代码是一个条件语句,用于判断`Sumindex`是否等于0x08。如果等于0x08,则执行一系列操作。
在条件语句内部,进行了一系列的操作:
1. 将`Sumindex`重置为0。
2. 将`Read_data_loop_flag`置为0。
3. 将`Sumdata`结构体中的One_4byte右移3位,以获取17位的转换数据。
4. 判断`Sumdata`结构体中的One_4byte是否小于等于`Taredata`结构体中的One_4byte。如果是,则将`finaldata`和`Mindata`结构体中的One_4byte都设置为`Sumdata`结构体中的One_4byte。
5. 判断`(Sumdata.One_4byte-Taredata.One_4byte)`是否小于`(5*Scalevalue.float_one_4byte)`。如果是,则将`finaldata`和`Mindata`结构体中的One_4byte都设置为`Sumdata`结构体中的One_4byte。
通过这些操作,实现了对数据的处理和判断。根据条件,将`finaldata`和`Mindata`结构体中的One_4byte设置为不同的值。
请注意,在这段代码中,涉及到了一些全局变量和结构体(如`Sumindex`、`Read_data_loop_flag`、`Sumdata`、`Taredata`、`finaldata`、`Mindata`、`Scalevalue.float_one_4byte`),这些变量在其他地方定义并进行了操作。
希望对您有所帮助!如果还有其他问题,请随时提问。
阅读全文