当前位置: 首页 > 编程语言 > C#

C#LearningTutorial-ChangingtheBaudRateinC#withoutClosingtheConnection共享

时间:2023-04-10 10:48:58 C#

ChangingtheBaudRateinC#withoutClosingtheConnection我对以下链接有类似的问题。如何在不关闭连接的情况下更改波特率?.但我使用C#而不是java。我以300的波特率开始。然后在握手后我不得不将波特率更改为4800。我向设备发送了一个命令来执行此操作。我改变了串口的波特率。之后,我再也无法继续与设备通信。(如果我保持300波特并向设备发送300波特命令,我可以继续通信)我有一个第三方软件也可以从这个设备读取。当软件运行时,我正在监听端口。它发送的命令与我发送到设备的命令相同。它发送命令为设备设置4800波特,并可以从设备获得应答。它不会在波特率更改期间关闭或重新打开端口。我也必须这样做。但是当我发送命令更改为4800波特时,我没有从设备上得到任何答复。我在等待你的回答。谢谢,FERDA这是进程“ReadY.vshost.exe”(PID:2608)打开的串行监控端口的输出0142300371.B0.q答案:09.08.201110:55:40.81864(+0.2656秒)06.请求:09.08.201110:55:41.06864(+1.2500秒)2F3F3131393939303034210D0A/?11999004!..答案:09.08.201110:55:41.58464(+0.5156秒)2F535452345F42534D3133310D0A/STR4_BSM131..请求:09.08.201110:55:42.31864(+0秒)063034310D0A.041..根据我的经验,波特率开关需要关闭并重新打开串行端口硬件:我建议尝试这样做。发送波特率切换命令,然后关闭端口,设置波特率,然后重新打开端口。打开/关闭端口对另一端的设备应该是透明的(除非您使用CTS/RTS/DTR/DSR线路)。要更改设备的波特率,请按照以下步骤操作。示例:以波特率1200开始通信。发送数据命令将波特率更改为1200。确认收到设备。如果ACK正确,设置Port.BaudRate=1200。接下来您想将波特率更改为4800,然后按照以下步骤发送数据命令将波特率更改为4800。确认收到设备。如果ACK正确,设置Port.BaudRate=4800。注意:在从控制器设备收到ACK后更改Port.BaudRate。通信将以先前设置的波特率开始。以上是C#学习教程:在C#中改变波特率而不关闭连接。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击有权联系管理员删除。如需转载请注明出处: