Linux 命令行程序,串行(COM 端口)传输,Hex

Linux 命令行程序,串行(COM 端口)传输,Hex

所以我需要一个可以在嵌入式 Linux(OpenWRT 8.09)上运行的程序,通过命令行,我需要能够传输 8N1,我需要以十六进制(而不是 ascii)传输,最好也以十进制传输。

据我所知微软微微通信不要传输十六进制。

编辑说明:我想以十六进制形式将数据输入程序,并让其发送每个 2 位十六进制对的二进制(8N1)表示。

答案1

尝试使用 CuteCom: http://cutecom.sourceforge.net/

它仍然是一个失败的项目,但是它运行良好,并且能够显示字符的十六进制表示。

但是它是图形化的,所以你不能在嵌入式 Linux 上使用它(如果你没有 X 支持和 QT4)。

在此处输入图片描述

答案2

如果程序不允许您以十六进制传输,则有其他解决方法。您可以通过管道传输信息,od将其转换为十六进制,然后再将其发送到 microcom 或 picocom。

例如,将“一些文本”转换为十六进制:

echo "一些文本" | od -tx1 | cut -c 8- | tr -d " "

答案3

我认为ssterm应该对你有用。它是用 Python 编写的(可能不太好),但它是基于控制台的,并且支持十六进制输入和输出。

你可以像这样启动它:

ssterm /dev/ttyAMA0 -b 9600 -i hex -o split

然后它应该从标准输入读取十六进制字符,将每两个字符转换为字节,并将该字节发送到串行。

它还将从设备读取数据并以hexdump类似的方式显示:左边是十六进制表示,右边是 ASCII 表示。

相关内容