打印

stm32 hid只能发固定字节

[复制链接]
5004|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wenzj12345|  楼主 | 2012-3-15 16:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32 HID现只能发送固定的位数22位,如果定义了小于22的用BUS_HOUND看发有BUFOVERRUN 不知道是为什么,发送个数写的是8个。
求高手指点~
沙发
香水城| | 2012-3-15 18:25 | 只看该作者
不知道你在说什么?

使用特权

评论回复
板凳
yybj| | 2012-3-15 18:54 | 只看该作者
‘如果定义了小于22的用BUS_HOUND看发有BUFOVERRUN’——语句不通,问题没有描述清楚

使用特权

评论回复
地板
wenzj12345|  楼主 | 2012-3-16 08:24 | 只看该作者
谢谢二位朋友的帮忙,下面是代码
0x09,0x03, // USAGE ID - Vendor defined
0x15,0x00, // LOGICAL_MINIMUM (0)
0x26,0x00, 0xFF, // LOGICAL_MAXIMUM (255)
0x75,0x08, // REPORT_SIZE (8)
0x95,0x08, // REPORT_COUNT (20)
0x81,0x02, // INPUT (Data,Var,Abs)
//19
// The Output report
0x09,0x04, // USAGE ID - Vendor defined
0x15,0x00, // LOGICAL_MINIMUM (0)
0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255)
0x75,0x08, // REPORT_SIZE (8)
0x95,0x08, // REPORT_COUNT (20)
0x91,0x02, // OUTPUT (Data,Var,Abs)

UserToPMABufferCopy(Transi_Buffer, ENDP2_TXADDR, 8);
SetEPTxValid(ENDP2);
如果设置都是8位,那上位机就接不到数据,但32确实只收了8位。
用BUS_HOUND  观察,会出现BUFOVERRUN。

使用特权

评论回复
5
wenzj12345|  楼主 | 2012-3-16 08:38 | 只看该作者
不知道怎么加图片,只能输入了。
当单片机向上位机发数据时(8位),BUS_HOUND   可以看到
24.2  USTS C00000C  BUFFER OVERRUN
24     RESET
24     NTSTS C000009C     device data err
上面是我收发都设置8位时用BUS_HOUND所看到的。

使用特权

评论回复
6
wenzj12345|  楼主 | 2012-3-16 08:49 | 只看该作者
发现问题了,是32设置的事··
谢谢二位朋友的回复

使用特权

评论回复
7
nan_banqiu| | 2012-4-20 17:03 | 只看该作者
楼主问题解决了吗

使用特权

评论回复
8
chengying| | 2012-6-8 11:12 | 只看该作者
0x95,0x08, // REPORT_COUNT (20)
改为0x95,0x40, // REPORT_COUNT (20) 既可以发送到64字节

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

140

帖子

1

粉丝