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

2018-08-08 13:54:57 +08:00
 Lily0756

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

3837 次点击
所在节点    Linux
12 条回复
truehyp
2018-08-08 15:29:05 +08:00
第一句,写个死循环嘛
Lily0756
2018-08-08 15:36:01 +08:00
@truehyp 写个死循环那岂不是永远不会执行第二句命令 echo "cmd" > dev/ttyUSB0 了?
truehyp
2018-08-08 15:46:03 +08:00
@Lily0756 不是在两个终端分别跑?
meta
2018-08-08 15:50:32 +08:00
&到后台不行吗?
Lily0756
2018-08-08 16:08:05 +08:00
@truehyp 目前是两个终端分别跑 目标是读写都放到一个脚本里。
Lily0756
2018-08-08 16:09:38 +08:00
@meta 能说具体一点吗 不能 get 到你的意思
orzfly
2018-08-08 16:12:13 +08:00
echo "命令" >/dev/ttyUSB0 &
timeout 5 cat -v </dev/ttyUSB0
izoabr
2018-08-08 22:52:44 +08:00
应该是一个循环开始读,读完给 echo,然后继续循环吧,我记得这个不能双工呀
Lily0756
2018-08-09 14:24:20 +08:00
@orzfly 即时响应的命令还是抓不到。
Lily0756
2018-08-09 14:25:57 +08:00
@izoabr 就是不能双工所以很头疼
orzfly
2018-08-09 14:51:53 +08:00
那就反过来啊)

timeout 5 cat -v </dev/ttyUSB0 &
echo "命令" >/dev/ttyUSB0
Lily0756
2018-08-09 14:59:59 +08:00
@orzfly 试了几轮 成功率还是比较高的 非常感谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/477930

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX