为什么我重启电脑后串口数据丢失?

bog*_*dan 2 windows serial-port

我有一个正在监视串行端口的应用程序。数据仅在端口打开时从另一端发送,但我发现在重新启动计算机时丢失了一些数据。这是为什么?

计算机运行的是 Windows XP。

Nic*_*ton 7

这是由于 Windows 在启动时打开端口很短的时间(不到半秒)造成的。在此过程中,所有串行端口都打开以检测鼠标等输入设备。

解决方案是简单地告诉 Windows 不要这样做,这样您就不会因为没有收到数据而丢失数据。我们可以通过修改boot.ini并确保我们正在使用/fastdetect开关来做到这一点。但是,这在大多数情况下已经启用,因为它在 Windows 设置中默认启用。我在这里找到了解决方案,该文章还包括有关 NT 和 9x 的信息(有不同的解决方案)。