OpenEdv-开源电子网

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

关于STM32F107的PA9脚/OTG_FS_VBUS

[复制链接]

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
发表于 2016-1-29 15:22:50 | 显示全部楼层 |阅读模式
10金钱
使用usb的device,但是用到PA9脚做普通的输入下拉引脚,但是一旦使能了usb功能,PA9脚的输入功能就无作用了
看了一下手册,PA9脚的复用功能有USART1_TX(7)/ TIM1_CH2(7)/OTG_FS_VBUS
但是我实际我这个管脚只用作普通管脚用
查了一下代码
  else /* FS interface (embedded Phy) */
  {
   
    usbcfg.d32 = USB_OTG_READ_REG32(&pdev->regs.GREGS->GUSBCFG);;
    usbcfg.b.physel  = 1; /* FS Interface */
    USB_OTG_WRITE_REG32 (&pdev->regs.GREGS->GUSBCFG, usbcfg.d32);
    /* Reset after a PHY select and set Host mode */
    USB_OTG_CoreReset(pdev);
    /* Deactivate the power down*/
    gccfg.d32 = 0;
    gccfg.b.pwdn = 1;
   
    gccfg.b.vbussensingA = 1 ;
    gccfg.b.vbussensingB = 1 ;     
#ifndef VBUS_SENSING_ENABLED
    gccfg.b.disablevbussensing = 1;
#endif   
   
    if(pdev->cfg.Sof_output)
    {
      gccfg.b.sofouten = 1;  
    }
   
    USB_OTG_WRITE_REG32 (&pdev->regs.GREGS->GCCFG, gccfg.d32);
    USB_OTG_BSP_mDelay(20);

屏蔽了USB_OTG_CoreInit函数里的这句话就可以了,但是USB又无法识别了。。。
请问有人知道如何配置PA9脚为普通引脚吗?谢谢!

最佳答案

查看完整内容[请看2#楼]

屏蔽掉VUSB检测就可以了啊
活着才是王道!健康是一切的前提!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-1-29 15:22:51 | 显示全部楼层
屏蔽掉VUSB检测就可以了啊
回复

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
 楼主| 发表于 2016-1-30 22:00:55 | 显示全部楼层
顶一下,没人知道吗?
活着才是王道!健康是一切的前提!
回复

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
 楼主| 发表于 2016-2-1 09:29:50 | 显示全部楼层
注释宏VBUS_SENSING_ENABLED没有作用。

gccfg.b.vbussensingA = 1 ;
gccfg.b.vbussensingB = 1 ;

尝试把这两句屏蔽,USB和PA9脚都可以用了。
不过这样屏蔽感觉不是很靠谱。先用着。。
活着才是王道!健康是一切的前提!
回复

使用道具 举报

46

主题

101

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2015-2-24
在线时间
5 小时
发表于 2016-2-1 23:16:36 | 显示全部楼层
你的dm和dp加下拉电阻 15k了么
图像处理、物联网、fpga、stm32研究 我的店铺:ccjt.taobao.com
回复

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
 楼主| 发表于 2016-2-1 23:30:57 | 显示全部楼层
shenyae86 发表于 2016-2-1 23:16
你的dm和dp加下拉电阻 15k了么

DP有下拉,DM没有,这个和下拉有什么关系吗?
活着才是王道!健康是一切的前提!
回复

使用道具 举报

46

主题

101

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
434
金钱
434
注册时间
2015-2-24
在线时间
5 小时
发表于 2016-2-2 11:04:40 | 显示全部楼层
网上说 内部集成了下拉电阻的
图像处理、物联网、fpga、stm32研究 我的店铺:ccjt.taobao.com
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2016-4-27
在线时间
8 小时
发表于 2016-4-27 15:39:33 | 显示全部楼层
lison0103 发表于 2016-2-1 09:29
注释宏VBUS_SENSING_ENABLED没有作用。

gccfg.b.vbussensingA = 1 ;

VBUS_SENSING_ENABLED没有这句
gccfg.b.vbussensingB = 1 ;只有这个,屏蔽掉之后也不行。

最后给vbus供电才识别
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2016-10-18
在线时间
0 小时
发表于 2016-10-18 14:54:30 | 显示全部楼层
请问前辈,最后是你怎处理的?
回复

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
 楼主| 发表于 2016-10-18 16:56:51 | 显示全部楼层
carbonxie 发表于 2016-10-18 14:54
请问前辈,最后是你怎处理的?

//    gccfg.b.vbussensingA = 1 ;
//    gccfg.b.vbussensingB = 1 ;
    gccfg.b.vbussensingA = 0 ;
    gccfg.b.vbussensingB = 0 ;
活着才是王道!健康是一切的前提!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-23 22:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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