我目前正在windows下的C++应用程序中实现一个串行连接终端。我正在通过串行连接使用hyperTerminal与我的设备进行通信。
例如,对于HyperTerminal:
> C (then hit Enter)
> Bla bla bla... Answer from the equipment我在C++上的串行连接:
send("C\n\r");什么都没发生。它只是在等待“命令的终结”。
在杰夫·阿特伍德博客上读了一些关于LF/CR的文章之后,我尝试了CR + LF的任何可能组合。他们谁也不做这件事。
因此,我的问题是,HyperTerminal将哪些字符序列解释为“输入是输入的,让我们来处理”。
Ps:我的串行连接工作得很好,我现在两种方式都在使用它,这方面没有问题。
发布于 2014-02-14 13:20:08
默认情况下,它模拟电传类型,因此在按Enter键时发送回车(ASCII代码0x0d或'\r')。键盘不再像以前的电传类型那样有一个linefeed键,所以您必须按Ctrl+J来生成linefeed (ASCII代码0x0a或'\n')。
记住正常的顺序,首先是回车,"\r\n“。如果现在使用send("C\n\r"),您可能需要调整代码。
我已经很久没有修改它了,但是iirc有它的配置,当您按Enter键时,它会告诉它发送一个linefeed或cr+lf。
https://stackoverflow.com/questions/21776401
复制相似问题