c# - 我对 .NET 串行端口类有奇怪的行为

标签 c# .net serial-port

我在 VB 6.0 中有几个应用程序,我想将其迁移到 C#.NET,因此我正在寻找串行通信示例。到目前为止,一切都很好。

互联网上有几个示例,但它们都不适用于我的电脑(Win7 64位、VS2012、.NET 4.5),所以我决定在另一台电脑上尝试它们。这就是一切开始看起来像《X 文件》的地方......

我正在尝试的示例应用程序是 this one

首先,我尝试了一台 Win8 64 位的笔记本,现在可以正常工作了。 然后我在一台装有Win7 64位3.5 .NET的台式电脑上尝试,仅发送不接收。我安装了 .NET 4.0,但它完全停止工作。

我在另一台相同型号的台式电脑上尝试过,Win7 32位3.5 NET。接收和发射均工作正常。安装了.NET 4.0并且没有接收没有发送。卸载.NET 4.0仍然不起作用。在 .NET 4.0 再次工作之前从恢复点恢复。经过几次测试后,无论是否恢复点,都停止工作。

我在另一台装有 Win8 64 位的台式电脑上尝试运行正常,然后安装了 .NET 4.5 根本停止运行。在 XP 上也尝试过 3.5 .NET 工作正常,.NET 4.0 工作正常。在所有计算机上,无论 .net 示例是否正常工作,我的旧 VB6.0 程序都可以正常工作。

谁能告诉我这是怎么回事?另外,当程序如此不稳定时,如何创建程序并将其提供给客户?

我在网上查了三天多夜,还是没有找到像我这样有问题的人。我是否做错了什么,或者只是我错过了整个 .NET 的一些东西?如果有必要,我会发布有关我的尝试的更多信息!

最佳答案

好的,我发现了问题...当然是我了:)奇怪的行为是由于没有检查示例应用程序的 DTR 检查而导致的。当检查 DTR 时,它可以在我的开发机器上运行,也可以在其他机器上运行。然而,这并不能回答为什么在没有检查 DTR 的情况下它可以在某些机器上运行,而不能在其他机器上运行。另外,为什么它可以在没有 DTR 的 Windows XP 上正常工作,但重要的是我已经找到了它应该如何正确工作。感谢 Alan 和 Ted 抽出时间给我回复。

关于c# - 我对 .NET 串行端口类有奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13666773/

相关文章:

java - 如何将 "driver"添加到 javax.comm? Java串口编程

java - RS232 java Linux

c# - 带有 LINQ To Entities 的 ASP.NET MVC View 模型

c# - 使用 c# .net 逐行读取 excel 数据

c# - 解码 Decimal64 数据

javascript - JavaScript 线程和 Silverlight UI 线程之间是什么关系?

c# - Automapper:在配置文件上设置 AllowNullCollections

c# - 需要验证数据契约(Contract)和数据成员

c# - 将值传递给 nlog 自定义目标

c# - 串行端口返回无效数据