2012-04-05 75 views
1

我一直在寻找一种写入串行端口的方法。我找到的每一条路都无法实现。我目前用于Recvfrom()函数的程序要求我禁用预编译的头文件(我不确定这是否是问题)。所以我基本上要问的是,有没有办法通过串口传输变量,如果是的话,最简单的方法是什么。写入串行端口(C++/Windows)

+0

我想在这里可能会有所帮助。 'recvfrom'与套接字一起使用。要从串口读取(在Windows下),您通常会使用“ReadFile”或类似的东西。你真的在处理一个网络连接,一个串行端口,或者(可能)像SLIP或PPP那样通过串口创建套接字连接的东西?此外,标题说写作,但'recvfrom'用于阅读。 – 2012-04-05 18:17:24

+0

我推荐使用[Boost.ASIO](http://www.boost.org/libs/asio/),它具有[本地串行端口支持](http://www.boost.org/doc/html/) boost_asio /概要/ serial_ports.html)。 [这里](http://dl.dropbox.com/u/10282384/asio_presentation_with_story.pdf)是来自BoostCon 2010的一些幻灯片,它能够很好地概述如何正确使用ASIO。 – ildjarn 2012-04-05 18:19:29

+0

对不起,Recvfrom接收通过网络发送的虚拟机的另一个变量。 – Linked 2012-04-05 18:29:44

回答

3

预编译头文件并不是真正的问题 - 如果您直接在项目中包含其他代码而不是构建库,则可能需要将#include stdaxf.h添加到该代码中,或者只需包含.h和.cpp文件直接存入您的代码文件。

如果你想谈谈serial port directly in win32这很容易。最大的问题是处理线程和等待新数据到达 - 但是如果你只是想发送和坐在那里等待响应,这很容易

0

你可以使用qextserialport库来与QT进行串行通信。