2016-09-15 139 views
1

我使用的Windows7与Windows应用程序开发32feet.net库。我扫描并配对设备后得到COM端口。当我打开端口并尝试发送数据的COM端口,我得到两种例外情况,他们给出如下蓝牙COM端口例外在C#.NET

错误代码异常

121信号灯超时已过期 1168找不到元素。

我也尝试了一个在下面的链接中给出的解决方法, http://zachsaw.blogspot.in/2010/07/serialport-ioexception-workaround-in-c.html 但没有结果。最后,我的怀疑围绕着蓝牙驱动程序。

如何找到这个例外的做法任何见解。

问候, 吉布森

回答

0

我使用RN-42芯片的蓝牙操作,并从以下链接学习一些东西, https://electronics.stackexchange.com/questions/38113/does-bluetooth-range-increase-with-lower-baud-rate

的罪魁祸首是波特率!!!! 我试图使用的9600标准波特率但令人惊讶的一些数据传输被证明是成功的,唉COM端口得到尽管蓝牙设备状态被连接到窗户应用断开。在这种状态下,应用程序会在“元素未找到”和“信号量超时期已过”等少数数据传输后引发异常。改变制造商建议的波特率似乎更稳定。解决方法:在Windows应用程序和蓝牙设备中对齐相同的波特率。

0

我有这个simular问题。我的问题已通过.net 4.7.1解决。此外,我需要确保我有我使用

的SerialPort异常时在后台线程上发生流不再终止进程蓝牙设备最新的Microsoft蓝牙驱动程序。在使用中删除USB串行端口时可能会发生这种情况。此新行为由Switch.System.IO.Ports.DoNotCatchSerialStreamThreadExceptions AppContext开关控制。此开关设置为truetf在默认情况下在面向.NET 4.7或更低版​​本时获取。 [428461,System.dll中,错误]

https://github.com/Microsoft/dotnet/blob/0745983093568027ff931672d9db021e3e120b5b/releases/net471/dotnet471-changes.md

更新:其实这似乎是在一个2个问题。 .net错误和固件问题,该设备从未在蓝牙模块上回头。