所以我试图通过串行端口发送一个十六进制(字符串?),看起来像这样“7E 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 FF”。我的代码如下所示:
serialport.write("7E 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 FF");
接收它的 Controller 没有确认此数据,我假设默认为 ASCII 的串行端口的字符编码是一个问题。我该如何解决这个问题?
最佳答案
我认为您正在使用 SerialPort Class ,对吗?
然后,我认为您想要解析字符串,将十六进制值转换为字节,然后直接写入字节。
我在想这样的事情:
string str = "7E 00 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 FF";
byte[] bytes = str.Split(' ').Select(s => Convert.ToByte(s, 16)).ToArray();
serialport.Write(bytes, 0, bytes.Length);
关于c# - (C#) 通过串行发送十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31600515/