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



评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风晴03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值