Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Modbus not usable with USB serial

未关闭
#321 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
c
领域
embedded-iot

调研方向

从 apps/nshlib/nsh_usbconsole.c 和 nsh_waitusbready() 函数开始,了解 USB 串行连接的移除和重新连接是如何处理的。然后检查 select() 和 read() 附近的 Modbus 处理,包括其错误处理。完成的标准是:USB 串行连接断开后不再导致无限循环,并且串行驱动程序可以在重新连接后重新打开。

由索引模型根据 Issue 内容生成。

描述

Type: Enhancement

Modbus can be used with USB serial, however, if the USB serial connection is lost, Modbus will hang in an infinite loop.

This is a problem in the handling of select() and read() and could probably resolved by studying the Modbus error handling.

A more USB-friendly solution would be to: (1) Re-connect and (2) re-open the serial drivers. That is what is done is NSH: When the serial USB device is removed, this terminates the session and NSH will then try to re-open the USB device. See the function nsh_waitusbready() in the file apps/nshlib/nsh_usbconsole.c. When the USB serial is reconnected the open() in the function will succeed and a new session will be started.

This is really an enhancement request: Modbus was never designed to work with removable serial devices.

主要语言
C
星标
465
派生
782
平均合并
4 天 4 小时
30 天内合并 PR
42

环境准备

我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

apache/nuttx-apps 的其他 Issue

查看 apache/nuttx-apps 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。