打印
[STM32F1]

107 OTG_DRD疑惑

[复制链接]
1995|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yi373642635|  楼主 | 2014-6-23 11:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在107双角色例程DRD基础上修改,分别作MSC主机和HID自定义设备,HID已经能枚举识别到,但是收发数据该如何处理,对应中断入口函数在哪里? 原例程中只有发送入口USBD_HID_SendReport,请各位鼎力相助,谢谢!
沙发
想做大牛的小马| | 2014-6-23 16:45 | 只看该作者
107作为device的时候,通过systick中断,向主机发送report!接收中断是USBD_OTG_ISR_Handler里处理的。。。完成枚举后,
host应该一直发IN,然后device在systick里面发送以下report~

使用特权

评论回复
板凳
yi373642635|  楼主 | 2014-6-25 11:10 | 只看该作者
想做大牛的小马 发表于 2014-6-23 16:45
107作为device的时候,通过systick中断,向主机发送report!接收中断是USBD_OTG_ISR_Handler里处理的。。。 ...

但关键是怎么接收HOST的数据,入口函数和数据缓存区在哪里?

使用特权

评论回复
地板
想做大牛的小马| | 2014-6-25 14:28 | 只看该作者
yi373642635 发表于 2014-6-25 11:10
但关键是怎么接收HOST的数据,入口函数和数据缓存区在哪里?

107作为device,对主机的信息(令牌,in,out),都是中断里处理的,class是HID的时候,USBD_HID_SendReport便是对ep的动作,用以向host报告相关信息

使用特权

评论回复
5
yi373642635|  楼主 | 2014-6-25 16:51 | 只看该作者
本帖最后由 yi373642635 于 2014-6-25 16:59 编辑
想做大牛的小马 发表于 2014-6-25 14:28
107作为device,对主机的信息(令牌,in,out),都是中断里处理的,class是HID的时候,USBD_HID_SendRep ...

目前要实现的是基于OTG_DEVICE库的自定义双向HID,请问HSOT主机发给107HID的数据入口是在中断哪里,缓存区又是哪里?

使用特权

评论回复
6
想做大牛的小马| | 2014-6-26 09:38 | 只看该作者
yi373642635 发表于 2014-6-25 16:51
目前要实现的是基于OTG_DEVICE库的自定义双向HID,请问HSOT主机发给107HID的数据入口是在中断哪里,缓存区 ...

so busy...
都是在中断里处理的,代码没有细看。。。你可以看看描述符里怎么对端点进行配置的,
in out分别是什么,out endp就是接收host发来的,仔细看看中断处理函数吧~
usb_endp.c usb_desc.c
void (*pEpInt_IN[7])(void)  void (*pEpInt_OUT[7])(void) 函数指针数组,看看例程对in out端点如何处理的,
你应该就懂了。。。~

使用特权

评论回复
7
yi373642635|  楼主 | 2014-6-28 08:45 | 只看该作者
想做大牛的小马 发表于 2014-6-26 09:38
so busy...
都是在中断里处理的,代码没有细看。。。你可以看看描述符里怎么对端点进行配置的,
in out分 ...

  我用的库是最新的OTG,不同于旧的库,没有pEpInt_IN[7]的中断入口函数,请问有别的入口吗?
******************************************************************************
  * @file    usb_dcd_int.c
  * @author  MCD Application Team
  * @version V2.1.0
  * @date    19-March-2012
  * @brief   Peripheral Device interrupt subroutines
  ******************************************************************************

使用特权

评论回复
8
想做大牛的小马| | 2014-6-30 13:38 | 只看该作者
yi373642635 发表于 2014-6-28 08:45
我用的库是最新的OTG,不同于旧的库,没有pEpInt_IN[7]的中断入口函数,请问有别的入口吗?
********** ...

。。。中断函数里OTG_FS_IRQHandler,肯定有对in/out端点的所有处理啊,对照着端点的描述看看啊,
看看用了几个in,几个out。。。

使用特权

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

本版积分规则

5

主题

11

帖子

0

粉丝