STM32F4与Android手机进行USB HID双向通信例子

2019-12-09 13:36发布

刚把STM32F4与Android手机的USB HID双向通信调通了,附上代码,有需要的拿去。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
81条回答
cliffman
2019-12-12 16:59
谢谢楼主分享,请教一个问题:

楼主代码中,安卓端收发函数如下:
    public void SendData(byte[] data) {
        Log.d(TAG,"Send Data");
        myDeviceConnection.bulkTransfer(epOut, data, 4, TIMEOUT);
    }

    public void RecData() {
        byte[] data = new byte[0xFF];
        while (true) {
            myDeviceConnection.bulkTransfer(epIn, data, 4, 99000);
            for (int i = 0; i < 4; i++) {
                Log.d(TAG, "data[" + i + "] = " + data[i]);
            }
            SendData(data); //把接收到的发回去
        }
    }

其中:
主机发送:myDeviceConnection.bulkTransfer(epOut, data, 4, TIMEOUT);
主机接收:myDeviceConnection.bulkTransfer(epIn, data, 4, 99000);
根据函数定义,4应该是发送和接收长度,这个长度和配置时的HID报告描述符中的数据长度是一致吗?还是说不一定?

下位机代码看了一下,没有找到HID报告描述符的定义,在usbd_desc.c或者usbd_desc.h中只找到配置描述符定义,楼主可否提示下HID报告描述符的位置。

谢谢

------------------编辑原因,修改错字

一周热门 更多>