c# 温湿度变送器传感器开发(二)

上一篇讲了如何从传感器中拿到数据,下面我们来分析下返回的数据,返回的数据格式如下

00 B0 D0 3F B2 51 01 03 04 01 13 02 FF

其中的第九位与第十位为温度值,正数的范围为16进制0X0000-0X7FFF,负数采用正数的补码方式传输,其范围为16进制0X8000-0XFFFF

如:

湿度上传16进制 0X0311,对应十进制785,表示78.5%

温度上传16进制 0X00FF,对应十进制255,表示25.5℃

温度上传16进制 0XFF9B,对应十进制100(0XFFFF-0XFF9B=0X64),表示-10.0℃

 private void dealData(byte[] bytRecv) {
            SubData subData = new SubData();
            //00 B0 D0 3F B2 51 01 03 04    01 13 02 FF    gong13
            if (bytRecv[2] == 208) {
                double wen = (bytRecv[9] * 256 + bytRecv[10]) * 1.0 / 10;
                subData.temperature = wen.ToString();
                if (bytRecv[9] >= 80 * 16)
                {
                    wen = (255*256-(bytRecv[9] * 256 + bytRecv[10]))* 1.0 / 10;
                    subData.temperature = "-"+wen.ToString();
                }
              
                double shi = (bytRecv[11]*256 + bytRecv[12])*1.0 / 10;
               
                subData.humidity = shi.ToString();
            }
            showResult(subData);


            SetviceSubData("ht001", subData);
            //Trace.Write(subData.temperature + "\n"+ subData.humidity+"\n");
            //00 B0 D0 3F B2 51 01 03 04
        }

代码就不上传了,想要可以私聊我,在开发过程中,不可避免出现问题,需要先调试走通,我是用的


设备是用的这款

https://s.click.taobao.com/w4mLMew



你可能感兴趣的:(c#)