无法从 /dev/ttyUSB0 读取串行数据

无法从 /dev/ttyUSB0 读取串行数据

我使用 RS485 转 USB 适配器来与硬件通信,可以通过发送十六进制数据字符串来更改其参数。我设置:

sudo chmod o+rw /dev/ttyUSB0
stty -F /dev/ttyUSB0 19200 -parodd

两个终端开放。第一个是:

cat -v < /dev/ttyUSB0

第二个是:

echo -e "\x00\x00\x00\x10\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92" < /dev/ttyUSB0

设备应该发回类似的字符串,但我在第一个终端中没有收到任何信息。发送的数据字符串已被制造商验证为正确的格式。为什么没有反应?

编辑:只是为了提供更多相关信息,我也在 1 号航站楼尝试过,hexdump < /dev/ttyUSB0但无济于事。我还打开/关闭了以下每个stty设置以确定它们是否有任何效果:

parenb, ixon, crtscts, cread

目前运行的样子是stty -a < /dev/ttyUSB0这样的:

speed 19200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O;
min = 1; time = 0;
parenb -parodd -cmspar cs8 hypcl -cstopb cread clocal crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inclr -igncr -icrnl ixon -ixoff -iuclc -ixany
-ixmabel -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

答案1

你已经<和混在一起了>。你有

echo -e ... < /dev/ttyUSB0

但一定是

echo -e ... > /dev/ttyUSB0

相关内容