我正好在Custom baud rate详细解决问题 - SetCommState()
失败,波特率= 921600,但成功波特率= 115200 - 尽管在Windows 7 64位上还有其他几个奇数情况如下:
1)我正在谈论的端口是来自Silicon Labs的USB-to-UART适配器,带有它们的驱动程序但是(据我所知;不要引用我)重新签名以从我的身份识别自己公司(我们用我们需要它的硬件产品重新分配它)。将硬件设备连接到计算机时,COM端口出现在设备管理器中,当我断开连接时,COM端口消失。我对此并不了解,但我认为这是正常行为。
2)921600波特曾经工作,在我出售的应用程序中以及我编写的示例程序中,我上次使用它时运行正常但是昨天开始失败的原因是请求921600波特现在导致{{1}以“参数不正确”失败。将请求的波特率更改为115200可使SetCommState()
成功,但不可接受地减慢通信速度。
3)921600波特仍在REALTERM中工作。我可以将端口设置为921600波特并打开它;它“只是有效”,没有任何错误或其他投诉。我可以像往常一样与我的乐器交谈并获取数据等。
4)我在一两周前重新安装了驱动程序,作为解决Windows错误地将大量COM端口标记为“正在使用”的问题的一部分。驱动程序安装声称成功,但端口无法打开;设备管理器显示黄色三角形/感叹号/问题。大量的反复试验最终表明安装过程无法将.inf文件复制到system32中。我“手动”将该文件复制到位,然后进行正常操作 - 直到今天。
5)今天设备管理器显示115200波特是该设备可用的最高速率,但我不确定它是否会显示任何更高的速率;我从不担心它,因为它“只是起作用。”
所以,简而言之,一切正常,直到昨天,现在突然我自己的应用程序不会做921600波特,但RealTerm仍然会。
连连呢?溶液