打印

STM32 Usb送主机数据的长度怎么设置

[复制链接]
2497|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
usbyt|  楼主 | 2012-11-16 18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对   例说STM32 里面USB触控鼠标 进行修改,修改为接收无线数据16Byte后上传PC,
  现在接收OK,可以上传Pc,但是Pc下看到的数据长度始终为4,

  我已将端点描述符和报表描述符中长度做了修改,但问题始终没能解决,

  我估计是 在usb上传函数中出了问题,因为这里没看懂,希望行家指教
   //调用函数,数据长度为16
   Send_data_to_usb(rx_buf,16);


   //将rx_buf中数据送到 Usb
   void Send_data_to_usb(u8 *rx_buf,u8 length)
   {
         UserToPMABufferCopy(rx_buf, GetEPTxAddr(ENDP1), length);
         SetEPTxValid(ENDP1);
   }

  //送入部分
  void UserToPMABufferCopy(u8 *pbUsrBuf, u16 wPMABufAddr, u16 wNBytes)
{
  u32 n = (wNBytes + 1) >> 1;   /* n = (wNBytes + 1) / 2 */
  u32 i, temp1, temp2;
  u16 *pdwVal;
  pdwVal = (u16 *)(wPMABufAddr * 2 + PMAAddr);
  for (i = n; i != 0; i--)
  {
    temp1 = (u16) * pbUsrBuf;
    pbUsrBuf++;
    temp2 = temp1 | (u16) * pbUsrBuf << 8;
    *pdwVal++ = temp2;
    pdwVal++;
    pbUsrBuf++;
  }
}
沙发
usbyt|  楼主 | 2012-11-17 09:50 | 只看该作者
以解决

使用特权

评论回复
板凳
mokedeng| | 2012-11-21 16:43 | 只看该作者
good

使用特权

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

本版积分规则

9

主题

81

帖子

0

粉丝