我如何知道用于与串口通信的十六进制?

时间:2014-08-28 09:06:46

标签: c++ mfc dialog

背景信息:我正在使用Visual Studio 2005在对话框中编写MFC / C ++。如果我没有任何信息或任何必要的回答我的问题,请原谅我。我会在每天上午9点到下午5点30分检查这个,所以请不要犹豫,不再要求提供任何背景资料。

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

  

21 04 07 00 08 00 0F 22

我的工作是将信号,噪声和阈值显示在rx和tx板的下图中。 rx和tx板位于事物的底部:(ttp://www.joyfay.com/images/fei833/POSsystem/SSS05.jpg)

  1. http://tinypic.com/view.php?pic=2qdbnf8&s=8#.U_7vU_mSxnQ
  2. http://tinypic.com/view.php?pic=29vxzmg&s=8#.U_7vi_mSxnQ
  3. 我准备学习,我不是要求直接答案。我希望Stack Overflow的编程老师可以帮助我。非常感谢。

1 个答案:

答案 0 :(得分:2)

您必须挖掘您正在与之交谈的设备的文档。它应该为您提供用于交换数据的协议。询问你的同事,他们肯定知道文档的位置。

我只能从

做出粗略的猜测
  

21 04 07 00 08 00 0F 22

0x21字节可能是指示帧起始的起始字节。设备使用它来同步自身以检测帧的开始。 0x22字节可能是结束字节,确认预计不会有更多字节。设备使用它来知道帧已被完全接收,因此它可以处理数据。 0x04字节可能是一个长度字节,它编码后面的数据字节数。其中似乎是0x07,0x00,0x08,0x00。非常不可思议的是它们编码的内容,它可能是两个16位值,例如7和8. 0x0f字节可能是数据字节的校验和,用于验证数据字节是否已损坏。

非常粗略的猜测,请仔细阅读文档。当然,与你的同事谈谈这件事,当你有人知道你旁边的小隔间里的事实时,在互联网上问一个完全陌生的人没什么意义。 Petzold的书“Code”非常适合帮助你停止谈论“hex”。