从AVR微控制器上的C代码我通过USART / USB将文本写入PC,在那里我将文本重定向到
文件(stty raw; cat > test.txt) < /dev/ttyUSB0
命令阻塞,直到我使用CTRL + C终止它。 我需要的是能够以某种方式从C代码中终止它。
我试图发送EOF和EOT,并禁用控制器的USART发射器,但所有不会终止该过程。
即使从代码中发送一些自定义字符序列以终止重定向到文件也适合我,但后来我想我需要另一个命令,这将是一个错误的地方来问这个问题..?
答案 0 :(得分:1)
在原始模式下读取串行端口时,EOF(和其他)字符不作为特殊控制字符处理。这是原始或非规范模式的全部目的:允许所有字符不受干扰地传输/接收。
您需要使用规范(文本)模式(以便行规则处理控制字符)。
而不是stty raw
尝试stty sane
,而是启用规范模式。