【问题标题】:serial port in linux (raspbian)linux中的串口(raspbian)
【发布时间】:2015-02-03 12:14:33
【问题描述】:

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

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

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

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

stty 命令的输出是:

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

谢谢

【问题讨论】:

    标签: linux serial-port raspberry-pi raspbian


    【解决方案1】:

    在我的脑海中,它是

    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 '/'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-08
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多