我正在尝试通过 moxa Uport 1110 USB 转串口设备使用 GPS。 UPort的驱动安装正常,GPS发送NMEA(文本)数据。但是,当我发出命令时
cat /dev/ttyUSB0
我的终端(如果重要的话,它是 UTF8 语言环境)显示一些二进制混乱。在 Windows 下(因此,使用不同的驱动程序,尽管两者都是官方的)它表现良好,我可以看到数据并访问 GPS。
我想知道问题是否出在某些终端设置中。
我之前发布了 stty ispeed 9600,这也是 GPS 可靠配置的原因;我也尝试了 stty ispeed 从低到高,只是遇到了不同类型的混乱。
偶尔,在一些罕见的尝试中会显示出好的文字。
我当前的终端设置是:
[root@blade gpsd-3.14]# stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
eof = ^A; min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
我感谢任何帮助检测问题所在的帮助。
答案1
根据我的经验(诚然是几年前的经验),当设备关闭时,物理线路特性会重置回默认值。因此,作为独立命令运行stty ... < /dev/ttyUSB0
是毫无意义的,因为一旦命令完成,设备就会关闭并重置回默认值。
要解决这个问题必须做这样的事情
sleep 3600 </dev/ttyUSB0 & # Open the device and keep it open (for 1hr)
stty ... </dev/ttyUSB0 # Set the desired characteristics
cat /dev/ttyUSB0 # Read from the device
...
kill %1 # Finished with the "sleep"