Linux Shell,如何通过串口发送命令并返回?
我希望通过串行端口向PDU发送“重新启动”命令。在交互模式下,我要做的是:Linux Shell,如何通过串口发送命令并返回?,linux,shell,serial-port,Linux,Shell,Serial Port,我希望通过串行端口向PDU发送“重新启动”命令。在交互模式下,我要做的是: #screen /dev/ttyS1 >reboot >[Detach Screen] # 如果我想在脚本中自动执行此任务,我应该能够使用shell中的单个命令重新启动PDU,如下所示: #echo "reboot" >/dev/ttyS1 但是,它不起作用!我不知道为什么。。。。你能帮我吗 PDU手动请求波特率为9600,这不是默认波特率。我尝试了以下命令来设置波特率,但仍然没有锁定: stty
#screen /dev/ttyS1
>reboot
>[Detach Screen]
#
如果我想在脚本中自动执行此任务,我应该能够使用shell中的单个命令重新启动PDU,如下所示:
#echo "reboot" >/dev/ttyS1
但是,它不起作用!我不知道为什么。。。。你能帮我吗
PDU手动请求波特率为9600,这不是默认波特率。我尝试了以下命令来设置波特率,但仍然没有锁定:
stty -F /dev/ttyS1 speed 9600 cs8 -cstopb -parenb
无论有无屏幕,这些输出都不会改变:
# stty -a -F /dev/ttyS1
speed 9600 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; flush = ^O; min = 100; time = 2;
-parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts
-ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
#stty-a-F/dev/ttyS1
速度9600波特;第0行;第0列;直线=0;
intr=^C;退出=^\;擦除=^?;kill=^H;eof=^D;eol=;
eol2=;swtch=;开始=^Q;停止=^S;susp=^Z;rprnt=^R;
werase=^W;lnext=^V;冲洗=^O;最小值=100;时间=2;
-parenb-parodd cs8-hupcl-cstopb cread clocal-crtscts
-ignbrk brkint ignpar-parmrk-inpck-istrip-inlcr-igncr-icrnl ixon-ixoff
-iuclc-ixany-imaxbel-iutf8
-opost-olcuc-ocrnl-onlcr-onocr-onlret-ofill-ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig-icanon iexten-echo-echok-echonl-noflsh-xcase-tostop-echoprt
echoctl echoke
以下是我们解决此问题的方法:
stty -F /dev/ttyS1 speed 9600 cs8 -cstopb -parenb raw
echo -ne "reboot\r" > /dev/ttyS1
echo -ne "reboot\n\r" > /dev/ttyS1
我想这是一个复制品:请拿一个look@fvu这个问题是关于将\char发送到串行通道的。我无法发送任何内容,包括\。好的,您的编辑显示您已经尝试了stty位:)您知道您在/dev/ttyS1上运行screen,在/dev/ttyS0上运行stty吗?您可以在另一个控制台上运行stty-a-F/dev/ttyS1来查看设置屏幕正在使用什么吗?将这些设置与未运行屏幕的端口设置进行对比,可能会给出一个提示,说明一个工作,另一个不工作。这是一个输入错误。运行屏幕时没有更改:
#stty-a-F/dev/ttyS1速度9600波特;第0行;第0列;直线=0代码>最好将stty的两个输出添加到您的问题中