OpenEdv-开源电子网

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

STM32F429+USB3300+MIC2025,STM32是怎么控制USB3300给U盘供电的??

[复制链接]

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-3-9
在线时间
19 小时
发表于 2018-8-15 16:47:52 | 显示全部楼层 |阅读模式
1金钱
STM32F429+USB3300+MIC2025,STM32是怎么控制USB3300给U盘供电的??

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

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2018-8-15 17:03:14 | 显示全部楼层
MIC2025是用来控制要不要放电的吧, USB3300有控制引脚可以对应MIC2025上面的引脚, 借由USB Device的ID识别和您代码的设置, 自然可以控制供电.
回复

使用道具 举报

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-3-9
在线时间
19 小时
 楼主| 发表于 2018-8-15 17:11:53 | 显示全部楼层
sammy902583 发表于 2018-8-15 17:03
MIC2025是用来控制要不要放电的吧, USB3300有控制引脚可以对应MIC2025上面的引脚, 借由USB Device的ID识别 ...

USB3300的一个引脚可以控制MIC2025要不要放电,可是受STM32影响,现在我不知道在代码的那个地方可以控制??
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2018-8-15 17:32:47 | 显示全部楼层
wuhongying77 发表于 2018-8-15 17:11
USB3300的一个引脚可以控制MIC2025要不要放电,可是受STM32影响,现在我不知道在代码的那个地方可以控制 ...


/**
  * @brief  Initializes the Low Level portion of the Host driver.
  * @param  phost: Host handle
  * @retval USBH Status
  */
USBH_StatusTypeDef USBH_LL_Init(USBH_HandleTypeDef *phost)
{  
#ifdef USE_USB_FS  
  /* Set the LL driver parameters */
  hhcd.Instance = USB_OTG_FS;
  hhcd.Init.Host_channels = 11;
  hhcd.Init.dma_enable = 0;
  hhcd.Init.low_power_enable = 0;
  hhcd.Init.phy_itface = HCD_PHY_EMBEDDED;
  hhcd.Init.Sof_enable = 0;
  hhcd.Init.speed = HCD_SPEED_FULL;
  /* Link the driver to the stack */
  hhcd.pData = phost;
  phost->pData = &hhcd;
  /* Initialize the LL Driver */
  HAL_HCD_Init(&hhcd);
#endif
#ifdef USE_USB_HS  
  /* Set the LL driver parameters */
  hhcd.Instance = USB_OTG_HS;
  hhcd.Init.Host_channels = 11;
  hhcd.Init.dma_enable = 0;
  hhcd.Init.low_power_enable = 0;
  hhcd.Init.phy_itface = HCD_PHY_ULPI;
  hhcd.Init.Sof_enable = 0;
  hhcd.Init.speed = HCD_SPEED_HIGH;
  hhcd.Init.use_external_vbus = 1;  
  /* Link the driver to the stack */
  hhcd.pData = phost;
  phost->pData = &hhcd;
  /* Initialize the LL driver */
  HAL_HCD_Init(&hhcd);
#endif

  USBH_LL_SetTimer(phost, HAL_HCD_GetCurrentFrame(&hhcd));
  
  return USBH_OK;
}

不知道是不是这个, 可以试试看.
回复

使用道具 举报

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2018-3-9
在线时间
19 小时
 楼主| 发表于 2018-8-15 17:44:26 | 显示全部楼层
sammy902583 发表于 2018-8-15 17:32
/**
  * @brief  Initializes the Low Level portion of the Host driver.
  * @param  phost: Host  ...

我之前也觉得是这个地方,可是试了一下还是不行,我用的是正点原子的例程改的,不知道没有没问题!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-2 20:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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