我正在使用需要通过串行通信的外设。 我可以使用超级terminal发送它的命令,但现在我需要编写程序,让我没有超级terminal。 有人可以指向我的网站和/或向我展示一个样本你好世界程序,让我开始? 我已经通过许多网站search,让我无法编译/古代VC6代码。
为了与串行端口连接,您需要使用“COM9”到“COM9”之一打开一个具有特殊文件名“COM1”的文件。 对于数字较大的串行端口,特殊文件名以\\?\开头,在C / C ++代码中必须转义为“\\\\\\\\\ COM10”等。
http://msdn.microsoft.com/en-us/library/ms810467.aspx有一个非常好的使用串口的教程。 请注意,您应该使用Windows文件I / O函数,如CreateFile()
, ReadFile()
和WriteFile()
。 我不确定是否可以使用标准I / O函数,如fopen()
, fread()
和fwrite()
。
Microsoft提供了一篇文章,其中介绍了如何在Win32下执行此操作的示例代码 。
升压:asio可能能够帮助最近添加一个串行设备。
公平的警告,但; 串口文件是轻的 ,可能是因为它是相当新的(它被加入了asio 1.1.1,包括在boost 1.36中)。
但通过asio工作的方式是,恕我直言,比使用原始的Win32 API更好的解决方案。 为什么? 读取和维护会更容易(这是更高级别的API),它将是跨平台的(除非需要指定特定于操作系统的设备名称)。
Boost – Users和asio.user邮件列表相当活跃和友好,如果遇到困难,应该能够帮助你。
如果使用.NET 2.0,请参阅System.IO.Ports, 本文应该会有所帮助。 如果直接Win32,那么亚当的答案是最好的。
我相信你会发现很多C#的示例代码,以及如果你发现VC6太古老。 我觉得还有一堆“免费的”串口/ COM端口封装,但是我写了一个RS232设备控制器的软件后写了我自己的。
谷歌C#和串行端口或rs232
我得到这些:
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx
你应该没有问题找到合适的代码与谷歌搜索。