我正在使用 SerialPort 类与外部设备进行通信。我以每秒 300 波特率开始通信,但是在初始“握手”之后,我必须切换到设备指定的波特率(通常为 9600 Bps)。
在提高波特率后,我尝试继续通信失败,但我不确定为什么。这引出了我的问题:改变波特率的正确方法是什么?可以在连接打开时完成,还是应该先关闭连接?
我在文档中找不到有关此的任何信息......
我两种方式都尝试过,但都没有成功,这让我觉得我一定错过了一些明显的东西。
根据我迄今为止的经验,最安全的选择是先关闭连接,更改速率,然后再次打开它。您的设备不会介意这一点,因为它可能会等待您发送一些控制字符以确保速度已更改。
您可以尝试在端口打开时更改波特率,但这可能会导致在缓冲区中检测到无效字符(取决于设备和协议),这意味着您还应该在更改后立即清除缓冲区(使用SerialPort.DiscardInBuffer()).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)