OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3173|回复: 1

求助:F072的USB问题

[复制链接]

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-6-5
在线时间
1 小时
发表于 2016-10-21 15:09:07 | 显示全部楼层 |阅读模式
1金钱
在官方的U盘例子下想增加USB的一个interface,增加两个端点,结果用来测试的时候这个interface下的端点只能接收一次数据,有没有比较熟悉的朋友帮忙看下是不是哪里配置有问题?1.  

/* Endpoints used by the device */
#define EP_NUM    (3) /* EP0 + EP1 for MSC IN + EP2 for MSC OUT */

/* Buffer table base address */
#define BTABLE_ADDRESS    (0x00)

/* EP0, RX/TX buffers base address */
#define ENDP0_RX_ADDRESS    (0x18)
#define ENDP0_TX_ADDRESS    (0x58)

/* EP1, TX buffer base address */
#define MSC_IN_TX_ADDRESS     (0x98)

/* EP1, Rx buffer base address */
#define MSC_OUT_RX_ADDRESS    (0xD8)


/* EP1, TX buffer base address */
#define MSC_IN_TX_ADDRESS1     ((0xD8)+0x40)

/* EP1, Rx buffer base address */
#define MSC_OUT_RX_ADDRESS1     ((0xD8)+0x80)


2.  

/* Class Layer Parameter */
#define MSC_IN_EP                    0x81
#define MSC_OUT_EP                   0x01

#define MSC_IN_EP1                    0x82
#define MSC_OUT_EP1                   0x02



#define MSC_MAX_PACKET                64

#define MSC_MEDIA_PACKET              64


3.
uint8_t  USBD_MSC_Init (void  *pdev,
                            uint8_t cfgidx)
{
  DCD_PMA_Config(pdev , MSC_IN_EP,USB_SNG_BUF,MSC_IN_TX_ADDRESS);
  DCD_PMA_Config(pdev , MSC_OUT_EP,USB_SNG_BUF,MSC_OUT_RX_ADDRESS);
  DCD_PMA_Config(pdev , MSC_IN_EP1,USB_SNG_BUF,MSC_IN_TX_ADDRESS1);
  DCD_PMA_Config(pdev , MSC_OUT_EP1,USB_SNG_BUF,MSC_OUT_RX_ADDRESS1);

  /* Open EP IN */
  DCD_EP_Open(pdev,
              MSC_IN_EP,
              MSC_EPIN_SIZE,
              USB_EP_BULK);

  /* Open EP OUT */
  DCD_EP_Open(pdev,
              MSC_OUT_EP,
              MSC_EPOUT_SIZE,
              USB_EP_BULK);

   /* Open EP IN */
  DCD_EP_Open(pdev,
              MSC_IN_EP1,
              MSC_EPIN_SIZE,
              USB_EP_BULK);

  /* Open EP OUT */
  DCD_EP_Open(pdev,
              MSC_OUT_EP1,
              MSC_EPOUT_SIZE,
              USB_EP_BULK);

  /* Init the BOT  layer */
  MSC_BOT_Init(pdev);


  DCD_EP_PrepareRx(pdev, MSC_OUT_EP,  BulkBuff,64);

  DCD_EP_PrepareRx(pdev, MSC_OUT_EP1,  DataBulkBuff,64);

  return USBD_OK;
}


修改了以上三处



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-10-23 00:42:10 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 07:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表