Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 自定义波特率,redux_Windows_Serial Port_Usbserial_Baud Rate - Fatal编程技术网

Windows 自定义波特率,redux

Windows 自定义波特率,redux,windows,serial-port,usbserial,baud-rate,Windows,Serial Port,Usbserial,Baud Rate,我的问题在--SetCommState()中有详细说明,在波特率为921600时失败,但在波特率为115200时成功--尽管是在64位Windows 7上,并且有一些其他奇怪的情况,如下所示: 1) 我正在谈论的端口是一个来自Silicon Labs的USB-to-UART适配器,带有他们的驱动程序,但是(据我所知,不要引用我的话)重新签名以表明自己是来自我的公司(我们用我们需要的硬件产品重新分发了它)。当我将硬件设备连接到计算机时,COM端口出现在设备管理器中,当我断开连接时,COM端口消失。

我的问题在--
SetCommState()
中有详细说明,在波特率为921600时失败,但在波特率为115200时成功--尽管是在64位Windows 7上,并且有一些其他奇怪的情况,如下所示:

1) 我正在谈论的端口是一个来自Silicon Labs的USB-to-UART适配器,带有他们的驱动程序,但是(据我所知,不要引用我的话)重新签名以表明自己是来自我的公司(我们用我们需要的硬件产品重新分发了它)。当我将硬件设备连接到计算机时,COM端口出现在设备管理器中,当我断开连接时,COM端口消失。我对此不太了解,但我认为这是正常的行为

2) 921600波特过去可以工作,在我销售的应用程序和我上次使用它时编写的一个示例程序中运行良好,但昨天开始失败,原因是请求921600波特现在导致
SetCommState()
失败并出现“参数不正确”。将请求的波特率更改为115200允许
SetCommState()
成功,但无法接受地减慢了沟通速度

3) 921600波特仍然适用于REALTERM。我可以将端口设置为921600波特并打开它;它“正常工作”,没有错误或其他抱怨。我可以和我的仪器通话,获取数据等等,就像往常一样

4) 我确实在一两周前重新安装了驱动程序,这是为了解决Windows错误地将大量COM端口标记为“正在使用”的问题;设备管理器显示黄色三角形/感叹号/问题。经过多次尝试和错误,最终发现安装过程未能将.inf文件复制到system32中。我“用手”将文件复制到适当的位置,然后进行正常操作——直到今天

5) 今天的设备管理器显示115200波特是设备可用的最高速率,但我不确定它是否显示过更高的速率;我从不担心它,因为它“刚刚起作用。”

所以,简而言之,直到昨天,一切都运转良好,现在我自己的应用程序突然不能达到921600波特,但RealTerm仍然可以


建议?解决方案?

支持的最大波特率是驱动程序实现细节。联系供应商寻求支持。感谢您的提示;我认为,从它多年来一直正常工作的事实来看,对于数百名客户和我自己来说,921600波特是受支持的。有人不支持它。你必须找到他。通常是新人。但他们会给你接通另一个也记得这件事的人。所以,请最近被雇佣的人来接手这项工作。那个咕哝着“这是狗屎”并使用DDK示例代码的家伙就是这么做的。这个理论唯一的问题是,我重新安装的驱动程序与“以前工作过”的驱动程序是同一个驱动程序(我重申,当RealTerm访问它时,它仍然工作)。我没有出去买新版本。支持的最大波特率是驱动程序实现的细节。联系供应商寻求支持。感谢您的提示;我认为,从它多年来一直正常工作的事实来看,对于数百名客户和我自己来说,921600波特是受支持的。有人不支持它。你必须找到他。通常是新人。但他们会给你接通另一个也记得这件事的人。所以,请最近被雇佣的人来接手这项工作。那个咕哝着“这是狗屎”并使用DDK示例代码的家伙就是这么做的。这个理论唯一的问题是,我重新安装的驱动程序与“以前工作过”的驱动程序是同一个驱动程序(我重申,当RealTerm访问它时,它仍然工作)。我没有出去买新版本。