Ulr*_*rik 6 linux bash serial-port socat
目标是embedded
使用serial
接口连接到设备。到目前为止,我已经使用了:
stty -F /dev/ttyS2 115200 cs8 ixoff
socat readline,history=/etc/socat.history /dev/ttyS2,raw,echo=0
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但后来我发现在system boot
此期间有一些选项需要您按一个键而不按enter
,并且readline
在那里失败。所以我的想法是绑定ttyS2
到cons0
,但后来我发现了许多问题,如无法退出(ctr+c
,ctr+q
ctr+]
甚至esc
无法正常工作),backspace
并delete
没有工作,来信使一些试验和错误后输入两次,等等,我想出了这个:
socat /dev/cons0,raw,echo=0,crnl /dev/ttyS2,raw,echo=0,escape=0x03,crnl
Run Code Online (Sandbox Code Playgroud)
raw
两侧允许单个key press
触发boot option
echo=0
两侧防止key press
加倍crnl
两侧防止enter
key press
加倍escape=0x03
允许我quit
按ctr+c
问题是,当我退出时,我cons0
全神贯注,好像它以某种方式保留了raw,echo=0,crnl
设置。我知道这个问题对于我的场景来说可能太具体了,但我只需要一种简单的方法来像我一样将击键发送到串行putty
(这在我的平台上不可用)。我使用socat
它是因为它非常轻量级,不需要任何额外的库,并且因为显示的命令是使用expect
.
任何想法和建议都非常感谢。
正如奥斯汀·菲利普斯所说,你可以用它stty sane
来恢复......
...但更好的是,您(可能)可以将其附加到您的 socat 命令中,并在使用 ctrl-c 退出时自动socat xxxxx ; stty sane
恢复。
归档时间: |
|
查看次数: |
9370 次 |
最近记录: |