当您按"Enter"键时,Windows超级终端下发送哪些字符

What characters are sent under Windows HyperTerminal when you hit the "Enter" key

本文关键字:超级终端 字符 Windows Enter 键时      更新时间:2023-10-16

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

例如,使用超级终端:

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

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

send("Cnr");

什么也没发生。它只是等待"命令结束"的卡特拉克特。

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

所以我的问题是,HyperTerminal将什么序列解释为"输入已键入,让我们处理"。

Ps:我的串行连接工作得很好,我现在以两种方式使用它一段时间了,这边没有问题。

默认情况下,

它模拟电传打字机,因此当您按 Enter 键时,它会发送回车符(ASCII 代码0x0d或"\r")。 键盘不再像以前的电传打字机那样具有换行键,因此您必须按 Ctrl+J 生成换行(ASCII 代码 0x0a 或"")。

请记住正常顺序,回车符首先是"\r"。 如果您现在使用 send("C\r"),则可能需要调整代码。

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