如何在C#中的COM PORT中发送ASCII?

时间:2018-10-11 10:54:06

标签: c#

我要发送ASCII命令到串行端口吗? 下面是ASCII命令

VER (命令之间没有空格)

char[] _mass = new char[]{'V','E','R','CR','LF'};

_serialPort.Write(_mass, 0, _mass.Length);

如何创建命令并发送。

1 个答案:

答案 0 :(得分:3)

默认情况下,C#中的字符为UTF-16编码。当您想通过串行端口进行通信时,通常使用ASCII。

因此,您需要告诉C#您想要哪种编码,然后将其转换为字节数组。字节数组只是没有隐式编码的位。

byte[] _mass = Encoding.GetEncoding("ASCII").GetBytes("VER\r\n");
_serialPort.Write(_mass, 0, _mass.Length);