连接打开时更改串行端口波特率

2023-11-23

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

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

我在文档中找不到有关此的任何信息......

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


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连接打开时更改串行端口波特率 的相关文章

随机推荐

  • 可扩展的内存分配器体验

    我目前正在评估一些可扩展的内存分配器 即 nedmalloc 和 ptmalloc 两者都构建在 dlmalloc 之上 作为默认 malloc new 的替代品 因为在多线程环境中出现了严重的争用 他们公开的表现似乎不错 但我想看看其他真
  • 如何在 Heroku 云上部署 Scrapy 蜘蛛

    我在 scrapy 中开发了一些蜘蛛 我想在 Heroku 云上测试它们 有人知道如何在 Heroku 云上部署 Scrapy 蜘蛛吗 是的 在 Heroku 上部署和运行 Scrapy 蜘蛛相当简单 以下是使用真实 Scrapy 项目作为
  • Wix Bootstrapper MSI-Package 日志记录,如何?

    我有一个安装了的引导程序MSI 包 我怎样才能至少记录 msi 软件包安装 详细记录 我在哪里可以设置日志文件路径 因为我无法记录我猜的所有内容 不 我don t want a cmd 解决方案 我需要实现这个进入我的设置 找到了 LogP
  • Maven:属性标签中pom.xml中的if语句

    如果设置了环境变量 我想设置一个属性 我在谷歌上搜索了很多 我发现的只是类似于下面的代码 但我不断收到错误 致命 不可解析的 POM Y Maven parent pom pom xml TEXT 后面必须紧跟 END TAG 而不是 ST
  • “new int(100)”有什么作用?

    可能的重复 这是变量还是函数 我错误地使用了类似的东西 int arr new int 100 它通过了编译 但我知道这是错误的 它应该是 int arr new int 100 当我写错了 编译器会认为是什么 第一行分配一个int并将其初
  • 在 flutter 中向特定用户 firebase 发送通知

    当一个用户按下按钮时 如何向另一个用户发送通知 有人可以给我看一个代码片段吗 我意识到这个问题之前曾被问过 但是 由于有 几个答案 所以它被关闭了 提供的类似链接并未解释在中发送通知flutter 我已经弄清楚如何使用应用程序内功能将通知发
  • Laravel Excel 可以工作,但文件无法打开

    我正在使用Laravel Excel创建包含多个工作表的 Excel 文档 我一直在遵循他们的示例 了解他们是如何做到这一点的 但是当我去下载文件时 它是 Excel 无法打开文件 kingdoms 1 xlsx 因为文件格式或文件扩展名无
  • 修复从 C# Azure Function 引用 System.Data.SqlClient 时出现的 PlatformNotSupportedException

    我正在使用 C 的目标框架创建 Azure 函数netstandard2 0在 Windows 10 环境中 该函数调用另一个类库中的方法 并且该方法创建 SqlConnection 的实例 当我运行该函数时 出现以下异常 Microsof
  • 如何计算我的 YouTube API 使用情况?

    我正在为客户构建一个相当大的应用程序 它将聚合来自各种来源的提要 我的客户估计 该系统一开始将有大约 900 个可关注的用户 随着时间的推移 还会增加更多用户 他希望每 15 分钟更新一次 feed 数据 因此我们需要每秒更新一个用户 fe
  • 在新窗口中运行 powershell

    我想使用参数运行新的 powershell 窗口 我试图运行以下命令 powershell Command get date 但一切都发生在同一个控制台中 有没有一种简单的方法可以做到这一点 要从 PowerShell 打开新的 Power
  • 为什么C++中没有sort(v)?

    我一直想知道为什么没有 sort v same as std sort v begin v end 如果我没记错的话 很久以前我看到过一个 boostcon 剪辑 演讲者说这个需要概念 但我不明白为什么 顺便说一句 我尝试了这个 在 VS
  • 将视频和贴纸图像分享到 Android 上的 Instagram Story

    如何将视频作为背景和图像作为贴纸一起分享到 Instagram Story 如果两个内容都是图像 则本文档只有一种解决方案 https developers facebook com docs instagram sharing to st
  • 如何使协议关联类型需要协议继承而不是协议采用

    在我的 swift 项目中 我有一个使用协议继承的情况 如下所示 protocol A class protocol B A 接下来我想要实现的是声明另一个具有关联类型的协议 该类型必须从协议继承A 如果我尝试将其声明为 protocol
  • RegisterUserNotificationSettings 在 ios 6.1 中不起作用

    我在我的项目中使用 Parse SDK 进行推送通知 我已将代码添加到didFinishLaunchingWithOptions 正如 parse com 上给出的 UIUserNotificationType userNotificati
  • 使用 PHP 在 Oracle 中将图像作为 BLOB 上传

    谁能告诉我如何使用 PHP 将图像作为 BLOB 存储在 Oracle 数据库中 一个有效的例子会很好 谢谢 首先你需要获取正在上传的图片 FILES 全局数组 image file get contents FILES image fie
  • keycloak:使用 React 用户可以登录,但是当我尝试注销时,我收到一条消息“无效参数:redirect_uri”

    我正在尝试将 keycloak 与 React 应用程序一起使用 这是我当前的客户端配置 我在主领域内执行此操作 这是我的钥匙斗篷配置 export const keycloakConfig realm master auth server
  • 使用 Hibernate 时内存使用率较高

    我用java编写了一个服务器端应用程序 在linux服务器上运行 我使用 hibernate 打开数据库会话 使用本机 sql 查询它 并始终通过 try catch finally 关闭此会话 我的服务器使用 hibernate 查询数据
  • 如何在输入字段按键事件上添加等待计时器?

    我有一个输入字段 它有一个 keyup 事件 document ready function SearchInputBox keyup function DoSearch this val 如何添加延迟时间 以便只有当用户停止输入 1 秒时
  • BigQuery 相当于“CREATE TABLE my_table (LIKE your_table)”

    我想创建一个表 其架构与另一个表完全相同 在其他 SQL 引擎中 我认为我能够使用 CREATE TABLE my table LIKEyour table 或一些变体 我在 BigQuery 中还找不到对应的内容 这在某种程度上可能吗 使
  • 连接打开时更改串行端口波特率

    我正在使用 SerialPort 类与外部设备进行通信 我以每秒 300 波特率开始通信 但是在初始 握手 之后 我必须切换到设备指定的波特率 通常为 9600 Bps 在提高波特率后 我尝试继续通信失败 但我不确定为什么 这引出了我的问题