在Linux(ttyUSB ..)下从串行端口读取时出现乱码传输

时间:2019-03-18 18:06:19

标签: linux serial-port

我有一个USB到RS485转换器连接到我的Linux盒:

ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

它目前正在使用中

stty -F /dev/ttyUSB0 raw 57600

因此,当我向设备写入一些字符(使用echo或控制台上的类似字符)时,我可以监视 TX LED闪烁,并且可以清楚地识别示波器上的字符

但是,当我尝试从中读取字符时,发生了一些奇怪的事情:

  • 我将一个简单的电传打字机连接到RS485输出。
  • 当我在其中键入几个字符时,我可以看到示波器,并且注意到转换器中 RX LED闪烁。
  • 然后我开始从设备读取内容,例如使用cat /dev/ttyUSB0
  • 现在,无论何时我在电传打字机上键入字符时,RX和TX LED都会闪烁,并且正如预期的那样,由于RS485只是半双工,因此我在示波器上看到乱码。因此,基本上,电传打字机在linux盒似乎发送某些东西的同时使用这些行,从而导致冲突。
  • 当我杀死cat进程时,它停止了,一切恢复正常。

我以前从未见过。我想念什么?

1 个答案:

答案 0 :(得分:1)

像以前一样。

这是线路准则:linux框启用了回显功能,因此实际上回显了每个传入的字符。

解决方案是禁用此功能:

stty -F /dev/ttyUSB0 -echo