我知道如何使用MFC / C ++打开,读取,写入和关闭串行端口。问题是我不知道要发送什么到串口。
我看到我的同事发送了21 04 07 00 08 00 0F 22
之类的内容。
我将它转换为控制,它说! EOT BEL NUL BS NUL SI"
这也意味着! (文字结束)(钟)(null)(退格)(null)(转入)"
我不确定我所翻译的内容是否有用,但我试图理解我的同事发送的内容,也许我可以设计自己的十六进制数据发送到端口。 我对此比较陌生。如果我的问题不清楚,或者我以错误的方式提问,请赐教。我准备学习,我不是要求直接答案。
我希望Stack Overflow的编程老师可以帮助我。
非常感谢。
答案 0 :(得分:0)
我见过我的同事发送的内容如21 04 07 00 08 00 0F 22。
串行端口通信只是两种系统/应用程序之间数据传输机制的一种方式。您可以来回发送数据。在您的情况下,当您从COM端口的另一侧读取此消息时,上述消息将转换为字节数组。你会得到类似的东西:
myrecievedarray[0] = 21;
myrecievedarray[1] = 04;
...
myrecievedarray[6] = 0F;
现在,轮到你或者另一边是听众来解释这个六进制值及其含义。这可能是打开电机或机器等的命令......
顺便说一下,通常在这种类型的数据传输中,你会在开头发送一个固定的字节,如(7E
),告诉你数据包的开头,并告诉你一个页脚的末尾,表示结束数据包。