Android上的USB主机模式在连接到串行适配器时会收到奇怪的前导数据字节

时间:2012-03-12 15:58:27

标签: android usb

虽然我的例程在Android设备和PC之间发送和接收数据没有任何问题,但我有一个奇怪的问题。

我在Android端收到的所有邮件都有两个前导字节,不是来自我的任何数据。

因此,当我将01 02 03作为十六进制从PC发送到Android设备时,我收到“B1 60 01 20 03”这种情况发生在所有PC或其他设备上 - 因此它必须在我的读取例程中 - 因为其他Android应用程序我试过没有收到“B1 60”前导字节。

这是我从USB读取的方式:

lenOfPartialChunksBuffer = mDeviceConnection.bulkTransfer(
            mFTDIEndpointIN, bufferForPartialChunksOfAnswer, 4096,
            commMsg.timeoutForUSBBulkTransfer);

有人经历过类似的事吗?

ps - 无论我连接到USB串行适配器的哪个设备 - 我都会获得这两个额外的字节

1 个答案:

答案 0 :(得分:0)

我是像你一样的新手android程序员。我可以告诉它可能与您的Android手机/平板电脑有关。我建议如果你可以节省协议中的两个字节,只需转换两个字节。这就是我所做的,它运作良好。