Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
Lily0756
V2EX  ›  Linux

Shell Script 实现使用 cat 读串口的同时向串口写数据

  •  
  •   Lily0756 · Aug 8, 2018 · 4863 views
    This topic created in 3014 days ago, the information mentioned may be changed or developed.

    脚本必须执行完 timeout 5 cat -v < /dev/ttyUSB0 后才执行 echo "命令" > /dev/ttyUSB0
    但我是想在读串口的过程中发送数据并读取反馈
    目前只能写两个脚本,一个读,一个写,用两个终端窗口分别运动同时跑。

    Supplement 1  ·  Aug 8, 2018
    目标是把读和写都放到同一个脚本里,因为两个终端跑不是很方便。
    12 replies  •  2018-08-09 14:59:59 +08:00
    truehyp
    truehyp
    Aug 8, 2018
    1
    第一句,写个死循环嘛
    Lily0756
    Lily0756
    OP
    Aug 8, 2018
    2
    @truehyp 写个死循环那岂不是永远不会执行第二句命令 echo "cmd" > dev/ttyUSB0 了?
    truehyp
    truehyp
    Aug 8, 2018
    3
    @Lily0756 不是在两个终端分别跑?
    meta
    meta
    Aug 8, 2018
    4
    &到后台不行吗?
    Lily0756
    Lily0756
    OP
    Aug 8, 2018
    5
    @truehyp 目前是两个终端分别跑 目标是读写都放到一个脚本里。
    Lily0756
    Lily0756
    OP
    Aug 8, 2018
    6
    @meta 能说具体一点吗 不能 get 到你的意思
    orzfly
    orzfly
    Aug 8, 2018
    7
    echo "命令" >/dev/ttyUSB0 &
    timeout 5 cat -v </dev/ttyUSB0
    izoabr
    izoabr
    Aug 8, 2018
    8
    应该是一个循环开始读,读完给 echo,然后继续循环吧,我记得这个不能双工呀
    Lily0756
    Lily0756
    OP
    Aug 9, 2018
    9
    @orzfly 即时响应的命令还是抓不到。
    Lily0756
    Lily0756
    OP
    Aug 9, 2018
    10
    @izoabr 就是不能双工所以很头疼
    orzfly
    orzfly
    Aug 9, 2018
    11
    那就反过来啊)

    timeout 5 cat -v </dev/ttyUSB0 &
    echo "命令" >/dev/ttyUSB0
    Lily0756
    Lily0756
    OP
    Aug 9, 2018
    12
    @orzfly 试了几轮 成功率还是比较高的 非常感谢~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1589 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    ♥ Do have faith in what you're doing.