如何使用wxwidgets访问C++中的串口数据

问题描述:

我是电子和通信工程专业的学生。我正在研究一个微控制器发送数据到计算机串行端口(异步)的项目。 我目前正在为我的GUI工作学习wxWidgets。如何使用wxwidgets访问C++中的串口数据

我的问题 - 是否有可能使用wxWidgets来获取数据和显示。这是非常困难的。 我搜索它,但没有得到直接的答案,如何实现这一点。所以建议我为此需要阅读。以及可以做什么替代方案。我使用Windows 7

我还需要将此数据上载到网络服务器(这是以后需要)

+0

不确定,但我认为wxWidgets只涵盖了GUI的东西。要访问PC端的COM端口,您需要使用Windows意识到的串行IO实现。 Boost.Asio可能会有所帮助:http://www.boost.org/doc/libs/1_43_0/doc/html/booster_asio/overview/serial_ports.html – 2012-08-13 18:01:42

+0

在搜索了很多解决方案后,我决定使用C#for gui和串行通信。它很容易在c#中实现它。 – netsmertia 2013-11-14 08:08:28

wxWidgets的,给我所知,没有实现串行I/O设备。还有其他可用的库提供此功能。最好的选择之一可能是boost :: asio(参见http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio/overview/serial_ports.html

+0

我同意,只是发送我的评论,当你回答; o)... – 2012-08-13 18:02:44

+0

你知道任何有关升压串行教程。他们没有提供任何一个。有没有其他的图书馆。我也读过一些qt有序列库的地方。哪一个对于C++初学者来说很容易。 – netsmertia 2012-08-13 18:28:41

+0

Boost :: asio也有一些http协作的例子。 – 2012-08-13 19:23:27

wxWidgets是一个跨平台的GUI框架。

读取串口与GUI无关,也不是跨平台。

所以wxWidgets与读取串口无关。

您可以使用Windows API从串口读取数据或写入串行端口。

CreateFile打开端口

ReadFile从端口读取数据

难吗?还挺!

我从来没有用过它,但有wxCTB

+0

我建议,然后尝试它。生成文件没有为MSVC设置得特别好,并且需要进行一些调整才能获得静态以外的工作库(静态链接到CRT)。我并不喜欢端口枚举,这是通过使用'GetDefaultCommConfig()'端口COM1到100来完成的,而不是使用安装API。看起来他们重复使用它们的重叠结构(至少如果你设法同时调用Read()和Write())。它看起来不错,并且必须为它们工作,因为它们有用于Linux和Mac的串行工具,但它看起来像在Windows下需要一些工作。 – tinman 2012-08-14 21:46:41