C (then hit-6ren">
gpt4 book ai didi

c++ - 当您按下 "Enter"键时,在 Windows super 终端下发送什么字符

转载 作者:行者123 更新时间:2023-11-28 00:33:40 25 4
gpt4 key购买 nike

我目前正在 Windows 下的 C++ 应用程序中实现串行连接终端。我通过串行连接使用 Windows super 终端与我的设备进行通信。

例如使用 super 终端:

> C (then hit Enter)
> Bla bla bla... Answer from the equipment

使用我在 C++ 上的串行连接:

send("C\n\r");

什么都没发生。它只是等待“命令结束”字符。

在 Jeff Atwood 博客上阅读了一些有关 LF/CR 的内容后,我尝试了 CR + LF 的所有可能组合。他们都没有做这项工作。

所以我的问题是, super 终端将什么字符序列解释为“输入已键入,让我们处理”。

Ps:我的串口连接很好用,现在两种方式都用了一段时间,这边没有问题。

最佳答案

默认情况下它模拟电传打字机,因此当您按下 Enter 键时会发送一个回车符(ASCII 代码 0x0d 或“\r”)。键盘不再像以前的电传打字机那样有换行键,因此您必须按 Ctrl+J 才能生成换行符(ASCII 代码 0x0a 或“\n”)。

记住正常顺序,回车在前,“\r\n”。如果您现在使用 send("C\n\r"),您可能想要调整您的代码。

自从我修改它以来已经太久了,但是 iirc 它有配置告诉它在您按 Enter 时发送换行符或 cr+lf。

关于c++ - 当您按下 "Enter"键时,在 Windows super 终端下发送什么字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21776401/

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