.NET串口问题。将C#代码转换为VB

时间:2011-06-14 18:49:22

标签: vb.net c#-to-vb.net

我在使用SerialPort函数时遇到问题,数据日志记录会间歇性地崩溃几天。这是一个很难调试的问题,我想尝试Zach Saw的解决方案,他谈到hereprovides code for in C#

我的问题是,要做到这一点,我是否需要在代码中重写串口的全部使用?

如果我使用System.IO.Ports.SerialPort模块,有没有办法只使用SetCommState的DLLImport将fAbortOnError设置为false,或者我是否需要完全放弃SerialPort模块并使用kernel32编写所有内容。 dll的?

3 个答案:

答案 0 :(得分:2)

我很确定在这种情况下你可以将他的项目导入你的解决方案,它应该运行得很好。由于VB和C#都是CLR语言,因此它们都编译成相同的中间语言。

答案 1 :(得分:1)

查看此页

http://support.microsoft.com/kb/823179

它有一些适当的SetCommState声明,带有一些示例代码。 Zach的修复方法是首先将com端口首先打开为文件,调用setcommstate,然后使用.net中的串口io函数。我没有尝试过,但他的帖子听起来你不应该对你的代码做很多事情。

答案 2 :(得分:1)

在针对.NET中串行端口的各种问题测试了大约15种不同的解决方案后,我决定使用CommStudio。从那时起它一直坚如磐石。

您可以在此处获取CommStudio Express(他们的免费版本):http://www.componentsource.com/products/commstudio/downloads.html?rv=42917