[STM32F1] STM32 USB 端点一IN传输出错

[复制链接]
1506|3
 楼主| laotui 发表于 2015-4-22 12:10 | 显示全部楼层 |阅读模式
自定义HID设备端点一中断传输,枚举正常out正常,主机一发起IN传输stm32就一直发没有报告ID的数据包
上位机收不到请教是什么原因,实在找不到了。
1.png
 楼主| laotui 发表于 2015-4-22 12:13 | 显示全部楼层
26是一个USB输入设备,25是HID自定义设备,数据应该是26 IN 00 后加数据
但在这个之后一直发25.1 IN 数据 端点一是IN端点 不知道是什么原因是配置不对还是发送时操作有问题。
 楼主| laotui 发表于 2015-4-22 12:17 | 显示全部楼层
各端点的包大小,接收发送缓冲区都设过了,端点的描述表看不太明白
        *((u16 *)(PMAAddr)) =  0x0080;//(u16)ENDP0_TXADDR;
        *((u16 *)(PMAAddr+2*2)) =         0x0000;
        *((u16 *)(PMAAddr+4*2)) = 0x0040;//(u16)ENDP0_RXADDR;
        *((u16 *)(PMAAddr+6*2)) =         0x8400;
       
        *((u16 *)(PMAAddr+16)) =  0x00d0;//(u16)ENDP1_TXADDR;
        *((u16 *)(PMAAddr+16+2*2)) =         0x0000;
        *((u16 *)(PMAAddr+16+4*2)) = 0x00c0;//(u16)ENDP1_RXADDR;
        *((u16 *)(PMAAddr+16+6*2)) =         0x8000;
       
        *((u16 *)(PMAAddr+32)) =  0x00f0;//(u16)ENDP2_TXADDR;
        *((u16 *)(PMAAddr+32+2*2)) =         0x0000;
        *((u16 *)(PMAAddr+32+4*2)) = 0x00e0;//(u16)ENDP2_RXADDR;
        *((u16 *)(PMAAddr+32+6*2)) =         0x8000;
不了解第二第四个数据是干什么用的,是不是和这些有关。
 楼主| laotui 发表于 2015-5-10 00:53 | 显示全部楼层
移植官方库解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

456

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部