【问题标题】:bash read timeout from serial portbash 从串口读取超时
【发布时间】:2017-11-29 11:05:11
【问题描述】:

我正在尝试类似Linux serial port listener and interpreter?

但是,我想要一个超时

#!/bin/bash
stty -F /dev/ttyUSB1 300 cs7 parenb -parodd
echo -n -e 'Sending '
echo -n -e "\x2F\x3F\x21\x0D\x0A">/dev/ttyUSB1
read LINE -r -t1 </dev/ttyUSB1
echo -n "Read "
echo $LINE

如果我没有收到意见,我想继续;它只是挂起。

(它是读取功率计的输入例程的一部分https://electronics.stackexchange.com/questions/305745/ir-data-from-landisgyr-e350

【问题讨论】:

    标签: bash serial-port


    【解决方案1】:

    基于this answer,我认为你可以使用timeout函数来得到你想要的。
    您可能需要进行一些格式化并将文件重定向到标准输出,就像在this answer 中一样,所以它看起来像这样:

    LINE="$(timeout 1 cat /dev/ttyUSB1)"  
    echo -n "Read "  
    echo $LINE
    

    您也可以结合使用 sleep 和 kill,例如 in here

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    相关资源
    最近更新 更多