使用adb shell 命令接收串口发送过来的16进制数据 或者 发送16进制数据

 首先执行

adb root

Adb shell

找到你要发送或者接收串口数据的设备

如果我们再android设备上调试串口的时候,有时我们需要使用adb shell命令,假设我们使用串口发送的数据是16进制,那么使用cat 这个设备节点,有可能显示的是乱码例如

可以看到我的串口设备是ttyS1,使用cat命令后,发现接收的数据显示不出来,这是因为发送端发送的数据是16进制的而不是字符串,这个时候我们就可以借助自带的busybox hexdump命令来显示16进制数据命令为: cat /dev/ttyS1 | busybox hexdump -C

使用后,效果如下:

使用adb shell 命令接收串口发送过来的16进制数据 或者 发送16进制数据_第1张图片

 此时我们就可以看到串口另一端发过来的16进制数据了

同理如果我们想要发送16进制数据给另一端应该使用如下操作:

echo -e "\x6F\x05\x00\x00\x00\x0F\x00\x00\x00\x00\xFF\x19\x00\x10\x01" >/dev/ttyS1

 然后回车即可

切记发送16进制数据每两个字符前面会有一个 \x

所以不能发送成字符串:

 echo -e “6F050000000F00000000FF19001001” > /dev/ttyS1

切记,以上两种发送方式是有区别的(一个表示发送的是16进制一个表示发送的是字符串)

你可能感兴趣的:(Android,开发,adb)