时间:2010-07-23 13:21:46

标签: c# serial-port

5 个答案:

答案 0 :(得分:5)

对于那些建议查看.NET SerialPort类的人;关于串行相关问题的频繁Stack Overflow应答提供商,Ben Voigt,提供了一些很好的见解,为什么围绕WinAPI的包装器最终会比使用提供的SerialPort框架更好的想法:

Ben Voigt on .NET SerialPort

必读。

他还提到了一个WinAPI包装器,他可能会在未来的博客文章中透露。如果发生这种情况,它将回答原始问题。

此外,似乎至少有一个商业解决方案提供了所请求的功能here

另一个编辑:

在.NET中没有Seri​​alPort类的时候,在线搜索显然已经产生了this blog post ...提供的源代码显示了如何为此目的包装Win32 API。

修改

有些用户指出上面提到的MSDN博客文章链接已经死了。

链接文章的标题是:

Use P/Invoke to Develop a .NET Base Class Library for Serial Device Communications”,由John Hind撰写并于2002年10月发布,我可以从另一篇MSDN文章中了解到它:

enter image description here

不幸的是,微软似乎只在2003年之前提供其杂志的版本:

https://msdn.microsoft.com/en-us/magazine/msdn-magazine-issues.aspx

FWIW,我在其他地方找到了half working online version ......

答案 1 :(得分:3)

答案 2 :(得分:3)

答案 3 :(得分:2)

通过PInvoke使用串口工作正常。我们在Silverlight应用程序中执行此操作,但它应该在普通的.NET应用程序中使用相同的功能。 Serial Communication with Silverlight 5 (COM port)的答案提供了一个基本包装,可以很容易地适应您的需求。它使用常规的WinAPI方法,因此您可以像在C ++应用程序中那样完全访问所有串行端口功能。

P.S。如果您还没有,请使用PortMon来监控该线路上发生的情况。

答案 4 :(得分:0)