我有一个连接到COM1 /dev/ttyS0
我需要发送十六进制序列并接收答案,然后根据答案发送另一个十六进制序列。
示例:
#|/bin/bash
echo -en '\x02\x00\x02\x30\x31\x03\x02' > /dev/ttyS0
#I want something like:
while read -r line < /dev/ttyS0; do
data = data + $line
done
if [$data = \x06 ]; then
echo -en '\x05' > /dev/ttyS0
fi
done
可以吗?
现在我正在尝试这个, 但没有来自串口的回复。 如果我使用终端应用程序它会回答
function ReadCard(){
CardReply="reply.txt"
> $CardReply
filesize=$(wc -c < "$CardReply")
until [ $filesize -gt 0 ]; do
filesize=$(wc -c < "$CardReply")
echo "Size:$filesize"
echo -en '\x02\x00\x04\x45\x30\x30\x32\x03\x72' > $SerialPort
echo -en '\x05' > $SerialPort
cat $SerialPort >> $CardReply
done
}