我正在构建一个将RS-232与串行终端对话的嵌入式系统,"全双工"样式,所以主机回应终端发送的内容。
我知道printables(至少ASCII 0x20到0x7E)通常会被回显,但是在这种情况下,哪些控制字符(如果有的话)通常会被回显?
是否有一些Posix或其他标准? Linux是如何做到的?
例如,如果我在终端输入^ C,那么^ C应该被主机回显吗? ^ G(钟声)怎么样?等?
答案 0 :(得分:-1)
我会尝试回答我自己的问题。这是我打算做的事情:
所有其他控制字符不回显。 (并不是说他们不是已处理,但他们并没有自动回应。他们所做的事情超出了我所要求的范围。)
我的理由是剩下的控制字符通常意味着做某事,而某事意味着要发生在主机上,而不是发生在终端上。
例如,DC1 / DC3(^ Q / ^ S)通常用作流量控制(“XON / XOFF”) - 将^ S(XOFF)回送到终端是没有意义的,因为目的是流控制主机。将XOFF回送到终端将控制终端,显然不是预期的。所以回应这一点毫无意义。
同样,终端发送的ANSI转义序列(光标上/下/左/右等)不应回显。
底线 - 仅限echo printables。控制字符作为规则不应该被回应,除非根据具体情况(回车,退格等)逐个进行。
我想评论这是否正确(以及为什么)。