【发布时间】:2018-06-02 18:59:57
【问题描述】:
我正在使用 posiflex 客户显示器,并且正在尝试清除显示器。我浏览了用户手册,找到了使用十六进制代码的 PST 命令模式。我不知道如何将这些十六进制代码传递给串口来清除我的显示。从手册中,我需要发送以下十六进制数字:
14 0E
我尝试了以下代码来发送这些字节,但我不知道如何同时传递两个字节。
SerialPort sp = new SerialPort();
sp.PortName = "COM6";
sp.BaudRate = 9600;
sp.Parity = Parity.None;
sp.DataBits = 8;
sp.StopBits = StopBits.One;
sp.Open();
byte[] bytestosend = new byte[1] { 0x0E };
sp.Write(bytestosend, 0, 1);
sp.Close();
sp.Dispose();
sp = null;
当我使用这段代码时,没有执行任何操作(显示不清除)。
【问题讨论】:
-
也许你也应该发送
<14>? -
始终包含错误和其他信息。这里发生了什么/没有发生什么?
-
@henk,我如何发送 14 和 0E
-
bytestosend = new byte[] { 0x14, 0x0E };和Write(bytestosend, 0, 2); -
写入后不要不要立即关闭串口。实际发送字节需要时间,串行端口很慢。唯一明智的做法是在程序启动时打开端口,直到退出时才关闭它。如果那是立即的,那么您将不得不延迟到 BytesToWrite 变为 0。
标签: c#