我正在尝试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的输入程序的一部分)
答案 0 :(得分:0)
基于this answer,我认为您可以使用timeout功能获得您想要的内容。
您可能需要进行一些格式化并将文件重定向到stdout,就像在this answer中一样,所以它看起来像这样:
LINE="$(timeout 1 cat /dev/ttyUSB1)"
echo -n "Read "
echo $LINE
您也可以使用睡眠和杀戮的组合,例如in here。