Usb

無法從 /dev/ttyUSB0 讀取串列數據

  • June 28, 2018

我正在使用 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

設備應該發回一個類似的字元串,但我在第一個終端中什麼也沒收到。發送的數據串已被製造商驗證為正確的格式。為什麼沒有回應?

編輯:只是為了提供更多關於此的資訊,我也嘗試在終端 1hexdump < /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

你混在一起<>。你有

echo -e ... < /dev/ttyUSB0

但它必須是

echo -e ... > /dev/ttyUSB0

引用自:https://unix.stackexchange.com/questions/451824