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

时间:2014-08-22 05:06:17

标签: c++ mfc dialog

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

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

这也意味着! (文字结束)(钟)(null)(退格)(null)(转入)"

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

我希望Stack Overflow的编程老师可以帮助我。

非常感谢。

1 个答案:

答案 0 :(得分:0)

  

我见过我的同事发送的内容如21 04 07 00 08 00 0F   22。

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

myrecievedarray[0] = 21;

myrecievedarray[1] = 04;

...
myrecievedarray[6] = 0F;

现在,轮到你或者另一边是听众来解释这个六进制值及其含义。这可能是打开电机或机器等的命令...... 顺便说一下,通常在这种类型的数据传输中,你会在开头发送一个固定的字节,如(7E),告诉你数据包的开头,并告诉你一个页脚的末尾,表示结束数据包。