1
我有发送的状态消息时间可持续通过串口VHF频带的,我需要,我一定是在存储为十六进制的数据在一个文本文件十六进制
我的消息如下图所示,而我从甚高频电台获得了数据试图hexdump都命令是正确的,但是,当我执行它,它不会结束与该脚本的问题,直到我按Ctrl-C
d -A n -t x1 -w128 /dev/ttyS0 > file.txt
所以我试过另一个命令是读命令如下:
COUNTER=0
while [ $COUNTER -lt 10 ]; do
read -r -t1 -N128 DATA < /dev/ttyS0
echo $DATA >> file1.txt
od -A n -t x1 -w128 file1.txt >> file2.txt
let COUNTER=COUNTER+1
done
但存储在file2.txt中的数据不正确。
我从收音机得到的消息没有按照无线电协议文档解释的格式。所以,当我说的数据是不正确我的意思是该消息不能被解释(它随机获得)
注意到如下执行这两个脚本之前,我已经设置好的串口:
stty -g /dev/ttyS0 raw
stty -F /dev/ttyS0 9600
所以,请帮我弄清楚这一点。或者给我另一种方式来读取串口。
问候,
所以你想脚本终止时?一旦有一定数量的字节到达,或? –
是的,我希望一旦接收到一定数量的字节就终止脚本。收音机的状态信息约为45字节,但由于收音机正在不断发送,我想确保收到了一个完整的状态信息。所以可以说我需要接收100个字节然后终止脚本。 – Latifa
对于获取所需数据的第一条命令,能否请您在问题中发布数据样本(比如说100个字节)? –