我如何知道要发送到串行端口的内容? [复制]

Posted

技术标签:

【中文标题】我如何知道要发送到串行端口的内容? [复制]【英文标题】:How do I know what to send to the Serial Port? [duplicate] 【发布时间】:2014-08-22 05:06:16 【问题描述】:

我确实知道如何使用 MFC/C++ 打开、读取、写入和关闭串行端口。问题是我不知道向串口发送什么。

我看到我的同事发送了类似21 04 07 00 08 00 0F 22 的信息。 我将它转换为控制,它说! EOT BEL NUL BS NUL SI"

这也意味着! (文本结束)(铃)(null)(退格)(null)(移入)"

我不确定我翻译的内容是否有用,但我正在尝试了解我的同事发送的内容,也许我可以设计自己的十六进制行发送到端口。 我对此比较陌生。如果我的问题不清楚或者我以错误的方式提出问题,请赐教。我已准备好学习,我不要求直接回答。

我希望我在 Stack Overflow 的编程前辈可以帮助我。

非常感谢。

【问题讨论】:

【参考方案1】:

我看到我的同事发送类似 21 04 07 00 08 00 0F 的信息 22.

串行端口通信只是两个系统/应用程序之间数据传输机制的一种方式。您可以来回发送数据。在您的情况下,当您从 COM 端口的另一侧读取此消息时,上述消息将传输到字节数组中。你会得到类似的东西:

myrecievedarray[0] = 21;

myrecievedarray[1] = 04;

...
myrecievedarray[6] = 0F;

现在,轮到你/或由另一边的听众来解释这个六进制值及其含义了。这可能是打开电机或机器等的命令...... 顺便说一句,通常在这种数据传输中,您会在开头发送一个固定字节,例如 (7E) 来告诉您数据包的开头,最后发送一个页脚来指示数据的结尾包裹。

【讨论】:

嗨萨默。感谢您的解释。但是,我面临的问题是尝试解释这个字节在串行端口的另一侧试图说什么,以便我可以对其进行编辑并制作一个更好的。或者是否有任何有用的链接可以让我对此进行更多研究,以便我自己开发或改进字节?也感谢您对 (7E) 的建议,我会牢记这一点。

以上是关于我如何知道要发送到串行端口的内容? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Java 未正确发送到串行端口

可以在网站上使用 pySerial 打开并将数据发送到本地计算机上的串行端口吗?

如何将字符发送到串口?

需要帮助了解发送字节到串行端口

在 C 中通过串行/COM 端口发送 MIDI 数据时出现问题

使用 pyserial 识别给定 USB VID 和 PID 的 USB 到串行端口