我正在使用 screen 通过串口与 arduino 通信,我像这样启动屏幕:
screen /dev/ttyACM0 115200
Run Code Online (Sandbox Code Playgroud)
然后我尝试发送一个命令,但我在键盘上按下的每个键都会被立即发送,如何让它等到我按下Enter
键后再将输入发送到 arduino?
这是我的串行设备/dev/ttyACM0
设置:
$ sudo ssty -F /dev/ttyACM0 -a
speed 115200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^H; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 100; time …
Run Code Online (Sandbox Code Playgroud) 我可以在 bash 中做到这一点:
while read -n1 -r -p "choose [y]es|[n]o"
do
if [[ $REPLY == q ]];
then
break;
else
#whatever
fi
done
Run Code Online (Sandbox Code Playgroud)
这有效但似乎有点多余,我可以做这样的事情吗?
while [[ `read -n1 -r -p "choose [y]es|[n]o"` != q ]]
do
#whatever
done
Run Code Online (Sandbox Code Playgroud)