从 C++ 的串行端口读取或 Windows 上的 Python
我需要使用 Python 或 C++ 从 Windows 读取串行端口。我应该使用什么 API/库?你能指导我看教程吗?谢谢!
I need to read the serial port from windows, using either Python or C++. What API/Library should I use? Can you direct me to a tutorial? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 python 中,你有一个优秀的包 pyserial ,它应该是跨平台的(我只在 GNU/Linux 中使用过)环境)。
来看看吧,使用起来很简单,但是功能却很强大!
当然提供了示例!
顺便说一句,如果它有用的话在这里你可以找到我的一个项目它使用 pyserial 作为扩展示例。
In python you've excellent package pyserial that should be cross-platform (I've used only in GNU/Linux environment).
Give it a look, it's very simple to use but very powerful!
Of course examples are provided!
By the way, if it can be useful here you can find a project of mine which use pyserial, as an extended example.
在 C++ 中:
CreateFile
("\\\\.\\COM39", ...)
SetCommState
SetCommTimeouts
ReadFile
、WriteFile
CloseHandle
有还有关于通信资源的完整文档。
In C++:
CreateFile
("\\\\.\\COM39", ...)
SetCommState
SetCommTimeouts
ReadFile
,WriteFile
CloseHandle
There is also a full documentation on communication resources.
这是关于Win32串行通信的经典文章:
http://msdn.microsoft.com/en-us/library/ms810467。 ASPX
This is classic article about Win32 serial communications:
http://msdn.microsoft.com/en-us/library/ms810467.aspx
在 python 中,它就像导入 pyserial 并使用其 open() 方法一样简单(如果您使用的是相当标准的系统,否则您当然必须调整许多参数以匹配您的环境)。
编辑:
正如 Enrico 所指出的,pyserial 在许多发行版中都不是默认包,因此您必须自己安装它。
我建议安装并使用easy-install,通过setuptools 来处理你的 python 插件包。
In python it is as simple as importing pyserial and use its open() method (if you are using quite standard system, otherwise you have to adjust a number of parameters to match your environment of course).
EDIT:
As pointed out by Enrico, pyserial is not a default package in many distributions, so you have to install it by your own.
I suggest to install and use easy-install, by setuptools to handle your python addons packages.