测试串口应用

时间:2012-02-21 04:43:17

标签: c++ c winapi testing serial-port

我有一个代码将数据发送到串口。我只是想确保它正确地发送数据。我检查了函数的返回值和写入的字节数,这是成功的。有什么其他方法可以实际看到我写的数据吗?

if(WriteFile(m_hSerialComm, pszBuf, dwSize, &dwNumberOfBytesWritten, NULL) != 0)

我尝试使用“Advanced Terminal Port software"

但数据不会进入该窗口。

2 个答案:

答案 0 :(得分:3)

有多种方法可以测试您的软件。如果您有两个串行端口,则使用电缆连接它们,并使用您提到的终端应用程序监听另一个端口。否则,您可以通过将引脚2和3连接在一起来环回同一端口。无硬件选项是使用com0com等工具提供的虚拟串行端口。

答案 1 :(得分:0)

假设您的代码片段中您正在使用Microsoft Windows操作系统进行开发,我建议使用Portmon for Windows“官方”串行端口监视实用程序。我过去使用它,发现它很简单,并且特别适用于它的多个过滤/搜索选项(因为有时在串行端口传递的数据量很大)。

如果你想要的只是你写入自己端口的数据的日志,那么为什么不将WriteFile(也可能是你的ReadFile)函数封装在一些“实用程序”函数中,这些函数可以读取/写入串口和一些日志文件?您甚至可以添加时间戳,并直接从您自己的代码中过滤“您正在寻找的任何内容”。

我发现这个最后一个选项在与客户远程调试应用程序时非常有用。您在应用程序中添加了一个按钮,可以打开和关闭日志记录,然后您只需要让客户点击“日志”按钮并将结果发送给您。