c# - (C#) 通过串行发送十六进制

标签 c# communication hardware type-conversion

所以我试图通过串行端口发送一个十六进制(字符串?),看起来像这样“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/

相关文章:

c# - 从用户控件获取图像 - Silverlight

c# - 是否可以在 MS Surface 上运行 Perl 脚本?

hardware - 处理器的路数是什么意思

c# - 如何检查路径是否引用本地文件对象?

c# - 从 byte[] 创建并保存图像会导致 Parameter is not valid 异常

c - 在 Linux 上使用 C 中的 2 个管道进行双向父子通信

windows-phone-7 - 如何共享应用程序创建的文件?

Android 应用程序,与插入 USB 端口的设备通信

c++ - 从我自己的库调用时,伺服器没有 move 。阿杜诺

linux - 用户空间Linux中的硬件识别