打印
[STM32F1]

STM32F105 USB 和开RCC_APB2Periph_GPIOB时钟冲突

[复制链接]
1568|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
demyli|  楼主 | 2015-10-15 17:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 demyli 于 2015-10-16 15:52 编辑

1:(RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
2:lolUSBH_Init(&USB_OTG_FS_dev, &MSC_cb , &USR_Callbacks);
如题,单独使用USB,读写都没有问题,一旦加开GPIOB的时钟这句话,USB就会停在HOST_USR_INPUT状态。
请问,各位大侠知道这种情况怎么解决啊?
查资料,有说中断优先级的问题,只是我除了USB,就单开了个GPIOB时钟呢。
沙发
mintspring| | 2015-10-15 22:28 | 只看该作者
是不是凯奇那个后,影响到了USB接口的寄存器。

使用特权

评论回复
板凳
demyli|  楼主 | 2015-10-16 09:07 | 只看该作者
mintspring 发表于 2015-10-15 22:28
是不是凯奇那个后,影响到了USB接口的寄存器。

就开一个时钟,影响不到吧:(

使用特权

评论回复
地板
demyli|  楼主 | 2015-10-16 09:23 | 只看该作者
int main(void)
{  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);       //这句加与不加都没问题
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);       //---就她不行,就是她,就是她,怎么都是她
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);       //这句加与不加都没问题
    //
    USBH_Init(&USB_OTG_FS_dev, &MSC_cb , &USR_Callbacks);
  
    while (1)
    {
        USBH_Process();
    }
}


使用特权

评论回复
5
Ketose| | 2015-10-16 09:50 | 只看该作者
按理说,不应该 的,。

使用特权

评论回复
6
demyli|  楼主 | 2015-10-16 09:56 | 只看该作者
Ketose 发表于 2015-10-16 09:50
按理说,不应该 的,。

是啊,就开了个时钟,外设什么的也没非礼她们,为啥USB军还不开心了呢

使用特权

评论回复
7
mintspring| | 2015-10-16 13:34 | 只看该作者
哈哈,不知道有这两个的例程没有,看看能否合并一下。

使用特权

评论回复
8
demyli|  楼主 | 2015-10-16 13:39 | 只看该作者
mintspring 发表于 2015-10-16 13:34
哈哈,不知道有这两个的例程没有,看看能否合并一下。

已上传~

使用特权

评论回复
9
demyli|  楼主 | 2015-10-16 15:44 | 只看该作者
结贴:跟踪代码,原因找到,USB库中,有个GPIOB 9 的按键程序,因为开了时钟,故而启动了这个,去掉就好了。
我这文件名称(根据开发板各有不同):stm32f10c_eval.h
1
#define KEY_BUTTON_PIN                   GPIO_Pin_9
2
#define KEY_BUTTON_GPIO_PORT             GPIOB
3
#define KEY_BUTTON_GPIO_CLK              RCC_APB2Periph_GPIOB
4
#define KEY_BUTTON_EXTI_LINE             EXTI_Line9
5
#define KEY_BUTTON_EXTI_PORT_SOURCE      GPIO_PortSourceGPIOB
6
#define KEY_BUTTON_EXTI_PIN_SOURCE       GPIO_PinSource9
7
#define KEY_BUTTON_EXTI_IRQn             EXTI9_5_IRQn

使用特权

评论回复
10
mintspring| | 2015-10-18 10:21 | 只看该作者
谢谢楼主分享经验,原来那个USB库中,还有个按键程序,这做的太隐蔽了。

使用特权

评论回复
11
demyli|  楼主 | 2015-11-4 08:57 | 只看该作者
mintspring 发表于 2015-10-18 10:21
谢谢楼主分享经验,原来那个USB库中,还有个按键程序,这做的太隐蔽了。

他就是提供一个例程,估计是通过按键,来实现U盘的读取存储功能。我们要使用的话,还得修改。

使用特权

评论回复
12
mintspring| | 2015-11-11 17:03 | 只看该作者
demyli 发表于 2015-11-4 08:57
他就是提供一个例程,估计是通过按键,来实现U盘的读取存储功能。我们要使用的话,还得修改。 ...

必须要改的,不然就没法具体的使用到项目里,另外官方的例程写的只是能帮助了解基本的过程而已。

使用特权

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

本版积分规则

2

主题

9

帖子

0

粉丝