问题标签 [stty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 如何永久禁用 stty 的 XON/XOFF 设置?
我正在使用带有串行控制台的嵌入式设备。我观察到控制台突然挂起,似乎没有任何反应。连接到另一台设备时,同一根电缆工作正常。经过大量挖掘,我了解了负责此问题的 XON/XOFF 标志。一些如何在控制台上输入“^S”字符并将其冻结。了解这一点后,我可以通过输入“^Q”来解锁控制台。但是控制台再次突然挂起。我的问题是是否可以在系统上永久禁用 XON/XOFF?如果有怎么办?
java - 简单的原始终端程序窗口
我需要能够在没有用户在 java 中按 enter 的情况下获得输入。据我所知,如果没有我想避免的 JNI/JNA,这是无法做到的。所以我正在寻找一个可以为我执行此操作的小程序,然后在再次调用时撤消它(可能使用不同的参数?)它可以是任何语言(最好是编译的),但最好可以在没有 MS Visual 的情况下编译工作室,因为我宁愿不安装它。
基本上有没有stty raw
我可以从Java调用的windows等价物?
keyboard - USB 设备影响 stty (uart)
我正在编写通过 UART (stty) 与 MCU 通信的程序我使用的平台是带有 Debian 的 Acmesystems Acqua A5 (SAMA5D31)。MCU 与 PC 之间的协议如下:MCU 地址、数据、CRC。如果一切正常,MCU 会生成一个相应的答案。问题是 - 当我在 USB 键盘上输入内容或插入闪存驱动器时,通信会冻结。所以,我认为USB奇怪地影响了stty。我发现如果我禁用 IGNBRK,不会冻结,但通信过程中会出现很多错误(这是真的,我不需要任何特殊字符)这是 COM 端口初始化:
shell - 使用 Go 制作全屏终端应用程序
我正在尝试构建一个全屏终端应用程序。我使用 Go 作为我选择的语言。我已经想出了如何阅读os.Stdin
,但我不清楚如何清除终端窗口和操纵光标位置。我还想捕获终端输入而不打印(回显)。
我的问题是:
- 如何使用列/行坐标有效地清除并打印到终端?
- 如何阻止终端打印按下的键
我的意图:
我想创建一个全屏终端应用程序来呈现它自己的 UI 并在内部处理输入(热键/导航/等...)。
如果有任何库涵盖此类用例,请随时提出建议。
linux - 串行 USB 上需要 Linux stty 命令滞后帮助
我正在使用带有 USB 串行连接的 Raspberry Pi - 因此 Raspberry Pi 有一个 USB 引线连接到一些硬件照明板。
当我通过这个 USB 连接发送许多串行命令时,似乎有一个延迟,有时它会变慢,并且不会让下一个串行命令通过,当我延迟发送的串行命令时,它似乎有部分帮助,如果我在 Windows 上做同样的事情,就不会有滞后问题。
我已经设置了串行 USB 硬件工作所需的参数:
在没有滞后的 Windows 上 - 我使用:
即使我在 Linux 上设置了其他类似的参数,仍然存在延迟。-所以问题是stty命令,我可以在USB端口上设置一些参数或设置,以结束立即发送的串行命令,并让多个即时串行命令被发送。因此,如果 3 个一起发送,它要么将它们排队,要么允许所有 3 个按顺序排列。
我看过“man stty”,并尝试了一些选项,但无济于事......所以寻找一些有经验的帮助来解决问题。
或者有什么替代 stty 的东西可以用来更快或更好地处理同时发送的大量串行 USB 命令。
顺便说一句,我正在使用 PHP 发送串行命令,例如:
我认为这不是问题,任何帮助表示赞赏。谢谢。
bash - 从串口读取并以十六进制存储
我有一个甚高频收音机,它通过串行端口连续发送状态消息,我需要将我必须作为十六进制数据存储在文本文件中的消息
我尝试了如下所示的 hexdump 命令,并且我从 vhf 无线电获得的数据是正确的,但是这个脚本的问题是当我执行它时,它直到我按 ctrl-c 才结束
所以我尝试了另一个命令,它是读取命令,如下所示:
但 file2.txt 中存储的数据不正确。
我从电台收到的消息不是我可以按照电台协议文件解释的格式。所以当我说数据不正确时,我的意思是无法解释消息(它是随机接收的)
请注意,我在执行两个脚本之前设置了串行端口,如下所示:
所以,请帮我解决这个问题。或者给了我另一种从串口读取的方法。
问候,
macos - OS X 上的串行端口波特率超过 230400
我正在尝试编写一个小脚本,允许串行端口嗅探,而无需任何进一步的嗅探器软件要求,只需使用一些标准命令行实用程序。
我可以打电话./serialSniffer.sh /dev/cu.usbserial-xyz
,然后用我想嗅探的软件连接到显示的设备。
serialSniffer.sh:
它确实适用于高达 230400 的低波特率。但是,例如,在我的 PySerial 软件中选择 460800 时,我得到了“不适合设备的 ioctl”错误。使用stty
设置高波特率不起作用。
PySerial 和dev/cu.usbserial-xyz
工作之间的直接连接因此不是硬件问题。
macos - 更改 MAC 终端上的波特率 stty
我需要使用波特率为 115200 的 USB 串行电缆。我尝试使用 MACbook 终端应用程序中的 stty 命令设置速率,如下所示;
并确认如下设置;
看起来波特率一直到 9600。有人可以告诉我如何逐步改变这个吗?
java - jline2 在 telnet 控制台上打印“\n”时打印“^J”
我将JLine 2 (v2.13) 与 Socket IO 结合使用,为我的应用程序创建一个管理控制台,可以通过普通的 telnet 客户端进行访问。但是我发现它应该打印出换行符时会打印出奇怪的符号:
正确的输出应该是:
我追溯了代码,发现了导致问题的以下代码行:
另一个奇怪的事情是,当我按向上箭头获取历史记录时,控制台打印出来^[[A
,没有其他任何反应。
有人有什么主意吗?
更新:添加了相关的源代码
- 接受传入 telnet 连接的代码:
- 创建
ConsoleReader
和调度命令的代码:
更新 2
对不起,我消失了一段时间。回来吧,因为我的项目让我呼吸到了新鲜空气。所以这就是发生的事情:我创建了一个PrintWriter
并将其用作该^J
问题的解决方法:
jline2
但是,与 telnet 会话一起使用时还有许多其他问题:
问题仍然存在,我相信应该有办法解决它只需要一些指导......
terminal - 主机应该回显控制字符吗?哪个?
我正在构建一个嵌入式系统,它将 RS-232 与串行终端进行通信,“全双工”风格,因此主机会响应终端发送的内容。
我知道通常会回显可打印文件(至少 ASCII 0x20 到 0x7E),但是在这种情况下通常会回显哪些控制字符(如果有)?
是否有一些 Posix 或其他标准?Linux是如何做到的?
例如,如果我在终端输入 ^C,是否应该由主机回显 ^C?^G(铃)呢?ETC?