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

2019-12-09 13:36发布

刚把STM32F4与Android手机的USB HID双向通信调通了,附上代码,有需要的拿去。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
81条回答
cliffman
1楼-- · 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报告描述符的位置。

谢谢

------------------编辑原因,修改错字
skyfight
2楼-- · 2019-12-12 18:10
这么屌啊。顶一个。
zhcj66
3楼-- · 2019-12-12 22:01
 精彩回答 2  元偷偷看……
fengyunyu
4楼-- · 2019-12-13 03:11
kenanhcf88 发表于 2014-12-13 21:35
这程序没实际测过,用STM32F4 USB读卡器的例子来试过,接收到数据后不做处理,速度最高能达到900KB/S左右 ...

"STM32F4 USB读卡器的例子",官方的例程么?
peiyan
5楼-- · 2019-12-13 03:26
谢谢楼主分享
rgzdb
6楼-- · 2019-12-13 07:33
谢谢分享,收藏了。

一周热门 更多>