gpt4 book ai didi

c# - 在连接打开时更改串行端口波特率

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:49 25 4
gpt4 key购买 nike

我正在使用 SerialPort 类与外部设备通信。我以每秒 300 波特率开始通信,但在初始“握手”后,我必须切换到设备指定的波特率(通常为 9600 Bps)。

在我提高波特率后,我尝试继续通信,但我不确定原因为何,但一直没有成功。这引出了我的问题:更改波特率的正确方法是什么?可以在连接打开时完成,还是应该先关闭连接?

我一直无法在文档中找到关于此的任何信息...

这两种方法我都试过了,但都没有成功,这让我觉得我一定遗漏了一些明显的东西。

最佳答案

根据我目前的经验,最安全的做法是先关闭连接,更改速率,然后再打开。您的设备不会介意这一点,因为它可能会等待您发送一些控制字符以确保速度已更改。

您可以尝试在端口打开时更改波特率,但这可能会导致在缓冲区中检测到无效字符(取决于设备和协议(protocol)),这意味着您也应该在更改后立即清除缓冲区(使用 SerialPort.DiscardInBuffer() )。

关于c# - 在连接打开时更改串行端口波特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8852611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com