linux中的串口(raspbian)

时间:2015-02-03 12:14:34

标签: linux serial-port raspberry-pi raspbian

我需要使用C语言编写的应用程序中的串口接收数据,在Linux(raspbian)中。

这是用于半双工数据采集(通过RS485),因此当任何设备发送数据时,所有其他设备必须正在监听。

问题是,在raspbian机器的串行端口上收到的每个字符都会被发送回外部设备(在调制解调器术语中为echo)。即使应用程序未运行,也会发生这种情况。

这必须是串口的配置(在我的情况下是USB转rs232转换器),但我找不到解决这个问题的方法。

stty命令的输出是:

stty -F /dev/ttyUSB0
speed 9600 baud; line = 0;
-brkint -imaxbel

由于

1 个答案:

答案 0 :(得分:0)

脱离我的头顶,它是

stty -F /dev/ttySX raw -echo -echoe -echok -echoke

手册页中可能会有更多标志:

   [-]crterase
          echo erase characters as backspace-space-backspace

   * crtkill
          kill all line by obeying the echoprt and echoe settings

   * -crtkill
          kill all line by obeying the echoctl and echok settings

   * [-]ctlecho
          echo control characters in hat notation ('^c')

   [-]echo
          echo input characters

   * [-]echoctl
          same as [-]ctlecho

   [-]echoe
          same as [-]crterase

   [-]echok
          echo a newline after a kill character

   * [-]echoke
          same as [-]crtkill

   [-]echonl
          echo newline even if not echoing other characters

   * [-]echoprt
          echo erased characters backward, between '\' and '/'