我目前正在Windows下的C ++应用程序中实现串行连接终端。 我通过串行连接使用Windows hyperTerminal与我的设备进行通信。
例如HyperTerminal:
> C (then hit Enter)
> Bla bla bla... Answer from the equipment
在C ++上使用串行连接:
send("C\n\r");
什么都没发生。它只是等待“命令结束”的特征。
在Jeff Atwood博客上阅读了关于LF / CR的一些内容后,我尝试了任何可能的CR + LF组合。他们都没有完成这项工作。
所以我的问题是,HyperTerminal解释为“输入是输入的,让我们处理”是什么序列的特征。
Ps:我的串口连接工作得很好,我现在用两种方式使用它,这方面没有问题。
答案 0 :(得分:3)
默认情况下它模拟电传打字,因此当您按下Enter键时发送回车符(ASCII码0x0d或'\ r')。键盘没有换行键了,就像以前的远程类型一样,你必须按Ctrl + J来生成换行符(ASCII码0x0a或'\ n')。
记住正常的顺序,首先回车,“\ r \ n”。如果您现在使用send(“C \ n \ r”),则可能需要调整代码。
自从我修改它以来已经太久了但是iirc它有配置告诉它在按Enter键时发送换行符或cr + lf。