picocom - 如何读取十六进制字节

picocom - 如何读取十六进制字节

我使用 picocom 来读取串行端口。我尝试以这种方式显示十六进制字节(男人):

picocom --imap ???hex -b 19200 /dev/ttyS0

但这不起作用。怎么了?

答案1

来自picocom手册页:

--imap <map> (input mappings)
<map> is a comma-separated list of one or more of ...
picocom --imap spchex,tabhex,crhex,lfhex,nrmhex,8bithex -b 19200 /dev/ttyS0

答案2

你真的写了“???hex”吗?如果是这样,这就是它不起作用的原因。

然而,最合乎逻辑的答案是您指的是 picocom 存在的许多映射选项。你的线路本来就很好。我认为发生的情况是您的 picocom 版本太旧,无法使用这些功能。

例如,我在树莓派上安装了 v1.7,它也不适用于这些选项,但是使用目前最新的 v3.1 则可以正常工作。

答案3

???并不是字面意思。The "to hex" mappings (???hex) replace the respective characters with their hexadecimal representation (in square brackets), like this:手册页中的句子指的是

       • spchex (map special chars (< 0x20 || 0x7f), excl.  CR, LF, and TAB to hex)

       • tabhex (map TAB to hex)

       • crhex (map CR to hex)

       • lfhex (map LF to hex)

       • 8bithex (map chars with 8th-bit set to hex)

       • nrmhex (map normal ascii chars (0x20 <= c < 0x7f) to hex)

我认为你想要运行的是

picocom --imap 8bithex -b 19200 /dev/ttyS0

相关内容