首页 > 其他 > 详细

串口编程补充

时间:2014-12-17 22:09:48      阅读:282      评论:0      收藏:0      [点我收藏+]

首先声明此文只适合我这等串口编程新手,也欢迎大神吐槽

参数转换问题:

 /// <summary>
        /// 数据转换
        /// </summary>
        /// <param name="values">要转换的byte数组</param>
        /// <param name="factor">计算因子</param>
        /// <param name="reh">高位字符</param>
        /// <returns></returns>
        private double ByteConvertDouble(byte[] values,int factor = 0, bool reh = false)
        {
            string hexStr = string.Empty;
            for (int i = 0; i < values.Length; i++)
            {
                hexStr += GetHexStr(values[i]);
            }
            if (reh)
                hexStr = hexStr.Substring(1);
            double temp = Convert.ToInt32(hexStr, 16) * Math.Pow(0.1, factor);
            if (reh)
                temp *= (-1);
            return temp;
        }
        /// <summary>
        /// byte 转十六进制字符
        /// </summary>
        /// <param name="b"></param>
        /// <returns></returns>
        private string GetHexStr(byte b)
        {
            return (b / 16).ToString("X") + (b % 16).ToString("X");
        }

 取数据时要看其所占的位数

 

串口编程补充

原文:http://www.cnblogs.com/mustangjs/p/4170335.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!