OpenEdv-开源电子网

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

关于STM32F767 USB无法识别U盘的问题

[复制链接]

10

主题

32

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2020-5-13
在线时间
21 小时
发表于 2020-11-5 13:53:45 | 显示全部楼层 |阅读模式
20金钱
我使用的是STM32F767IGT6,CPU和阿波罗开发板是一样的。但是我使用的是PB14 和PB15引脚,阿波罗用的是PA11,12。
PA11,12用的是USB_OTG_FS模式,但PB14,15没有USB_OTG_FS,只有USB_OTG_HS模式,网上有人说HS也是可以当FS模式用的。
我把usb_bsp.c的底层代码配置过以后,如果我把Cache_Enable();屏蔽掉的话,USB是可以正常识别U盘的,但是如果把Cache_Enable();加上的话,就没办法识别了。
请问有人在使用STM32F7的时候遇到过这个问题吗?

附上我的配置代码(usb_bsp.c)

//USB OTG 底层IO初始化
//pdev:USB OTG内核结构体指针
void USB_OTG_BSP_Init(USB_OTG_CORE_HANDLE *pdev)
{
     GPIO_InitTypeDef  GPIO_InitStruct;
    __HAL_RCC_GPIOB_CLK_ENABLE();                   //使能GPIOA时钟
    __HAL_RCC_USB_OTG_HS_CLK_ENABLE();              //使能OTG FS时钟

        //配置PA11 12
    GPIO_InitStruct.Pin=GPIO_PIN_14|GPIO_PIN_15;    //PA11 12
    GPIO_InitStruct.Mode=GPIO_MODE_AF_PP;           //复用
    GPIO_InitStruct.Pull=GPIO_NOPULL;               //无上下拉
    GPIO_InitStruct.Speed=GPIO_SPEED_HIGH;          //高速
    GPIO_InitStruct.Alternate=GPIO_AF12_OTG_HS_FS;     //复用为OTG FS
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);         //初始化
}

//USB OTG 中断设置,开启USB FS中断
//pdev:USB OTG内核结构体指针
void USB_OTG_BSP_EnableInterrupt(USB_OTG_CORE_HANDLE *pdev)
{
    HAL_NVIC_SetPriority(OTG_HS_IRQn,0,3);          //抢占优先级0,子优先级3
    HAL_NVIC_EnableIRQ(OTG_HS_IRQn);                //使能OTG USB FS中断  
}


//USB OTG 中断服务函数
//处理所有USB中断
void OTG_HS_IRQHandler(void)
{
          USBH_OTG_ISR_Handler(&USB_OTG_Core);
}

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-11-6 01:23:07 | 显示全部楼层
回复

使用道具 举报

10

主题

32

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2020-5-13
在线时间
21 小时
 楼主| 发表于 2020-12-1 15:08:08 | 显示全部楼层

1.png


就一直卡在这地方
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-12-2 02:03:18 | 显示全部楼层
根据你说的,十有八九是cache的问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

10

主题

32

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2020-5-13
在线时间
21 小时
 楼主| 发表于 2020-12-2 09:02:34 | 显示全部楼层
正点原子 发表于 2020-12-2 02:03
根据你说的,十有八九是cache的问题。

请问原子哥有没有什么好招,能解决USB_OTG_HS使用全速运行 不使用高速的问题,还能开着cache用。。。感觉F7这个cache真的是个让人很蛋疼的东西,不开速度比F4慢十几倍,开了又有一堆问题,这款芯片已近被我拉进黑名单了。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-12-3 01:45:36 | 显示全部楼层
yf530030302 发表于 2020-12-2 09:02
请问原子哥有没有什么好招,能解决USB_OTG_HS使用全速运行 不使用高速的问题,还能开着cache用。。。感觉 ...

CACHE就得这么小心,可以clean一下试试,我都是这么解决的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-14 13:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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