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模式无响应值的问题。