你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407 USB HOST 问题请教

[复制链接]
憨客鱼 提问时间:2021-5-10 10:06 / 未解决
我用的是STM32F407 使用STM32FCUBE  产生的工程 起重 USB_OTG_HS 选择的是 Host Only    SOF 和 VBUS 都没勾选

USB_OTG_FS 选择的是 DEVICE_ONLY SOF 和 VBUS 都没勾选

然后 middleware USB_HOST 选择的是Virtual  Port Com
但是生成代码后 就死在
void Error_Handler(void)


我一级一级跟踪下来,
  MX_USB_OTG_FS_PCD_Init();
  if (HAL_PCD_Init(&hpcd_USB_OTG_FS) != HAL_OK)
  if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK)
    ret = USB_CoreReset(USBx);

最后发现是USB 寄存器 一直不对

static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx)
{
  uint32_t count = 0U;

  /* Wait for AHB master IDLE state. */
  do
  {
    if (++count > 200000U)
    {
      return HAL_TIMEOUT;
    }
  } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U);

  /* Core Soft Reset */
  count = 0U;
  USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST;

  do
  {
    if (++count > 200000U)
    {
      return HAL_TIMEOUT;
    }
  } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST);

  return HAL_OK;
}


请问哪位大侠知道是什么原因么 无标题3.png 无标题2.png 无标题1.png

收藏 评论1 发布时间:2021-5-10 10:06

举报

1个回答
xmshao 回答时间:2021-7-15 16:42:39
抱歉,没法给你明确的支持。

建议你先基于现有cube例程做些验证测试。

\Repository\STM32Cube_FW_F4_V1.26.1\Projects\STM324x9I_EVAL\Applications\USB_Host

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版