c# SerialPort HEX there is no data received

C#窗口程序进行串口通信,按照串口通信协议,设置com口,波特率,停止位,校验位,数据位,本地虚拟串口调试ok,但是和外设调试时,发送HEX模式数据命令,没有数据返回,

所以关键问题在于HEX模式,发送命令格式也必须是HEX模式下,废话不多说,上代码:

        public byte[] HexStringToBytes(string hs)         {             string[] strArr = hs.Trim().Split(' ');             byte[] b = new byte[strArr.Length];             //逐个字符变为16进制字节数据             for (int i = 0; i < strArr.Length; i++)             {                 b[i] = (byte)int.Parse(strArr[i], System.Globalization.NumberStyles.HexNumber);             }             //按照指定编码将字节数组变为字符串             return b;         }

关键代码:

int.Parse(strArr[i], System.Globalization.NumberStyles.HexNumber);

之前无论如何也无法接收到数据,通过此段代码轻松解决HEX模式无响应值的问题。

发表评论

相关文章