0

我正在尝试编写一个 shell 脚本来测试设备的串行端口

在 Ubuntu 上,我写道:

回声“abcdefghijklmnopqrstuvwxyz1234567890”>/dev/ttyUSB0

在目标上,我已经输入了该行:

猫 /dev/ser1

目标显示:

bcdefghijklmnoprstuvwxyz123456890(缺少 aq7)

这是系统的,我尝试了 2 个不同模型的目标,结果是相同的:“a”、“q”和“7”总是缺失。所以我相信问题出在Ubuntu方面。

然后,如果我从 Ubuntu 发送:

回声 -e "\n\n\n"

然后下次“a”和“q”回来但不是“7”

另一种方式(目标发送到 Ubuntu)传输是完美的。没有损失。

在 Ubuntu 端设置:

stty -F /dev/ttyUSB0 -a

速度 115200 波特;第 0 行;第 0 列;线 = 0; 内部 = ^C; 退出 = ^; 擦除 = ^?; 杀死 = ^U; eof = ^D; eol = ; eol2 = ; 开关 = ; 开始 = ^Q; 停止 = ^S; 悬念 = ^Z; rprnt = ^R; 弱化 = ^W; 下一个 = ^V; 丢弃 = ^O; 最小值 = 1;时间=0;-parenb -parodd -cmspar 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 -flusho -extproc

在目标方面:

stty -a < /dev/ser1

名称:/dev/ser1 类型:serial 打开:5 +hupcl +cread -clocal -isig -icanon +iexten -echo +echo -echok +echoke -echonl +echoctl -noflsh -flusho -ignbrk +brkint -ignpar -parmrk -istrip -inlcr -igncr -icrnl +imaxbel +opost +onlcr -isflow -osflow -ihflow -ohflow intr=^C quit=^\erase=^? kill=^U eof=^D eol=^- eol2=^- swtch=^- start=^Q stop=^S susp=^Z dsusp=^- reprint=^- discard=^- werase=^- lnext= ^- min=01 time=00 fwd=^- login=^- pr1=^[ pr2=5B pr3=^- pr4=^- sf1=^- sf2=^-
sf3=^- sf4=^- left=44 right=43 up=41 down=42 ins=40 del=50 rub=^- can=^- home=48 end=59 par=none +inpck bits=8 stopb=1 baud=115200 rows=0,0

4

0 回答 0