我正在为项目使用串行设备,而我要在PC端完成的工作是侦听串行设备发送的命令,解释查询,根据查询运行一些代码,然后传回结果。
老实说,我尝试使用PHP作为侦听器,并且它可以工作,不幸的是,使脚本充当接收器所需的无限循环将CPU负载为25%。因此,这并不是真正的最佳选择。
我现在正在使用cygwin,我想使用linux本机命令创建一个bash脚本。
我可以使用以下方式接收数据:
cat /dev/ttyS2
并发送以下回复:
echo "command to send" > /dev/ttyS2
我的问题是,如何使自动侦听器能够接收和发送数据?我遇到的主要问题是,实际上,一旦收到信息,我如何停止 cat / dev / ttyS2 命令,将其放入一个变量中,然后可以将其与开关进行比较,否则将阻塞一系列(否则)。然后发回响应并重新开始循环吗?
谢谢
这不是您要找的东西吗?
while read -r line < /dev/ttyS2; do # $line is the line read, do something with it echo $result > /dev/ttyS2 done