您的位置 首页 编程

STM32F105 USB管脚Vbus的处理

对于STM32F105/107来说,为了监测USB的连接问题,程序默认是通过Vbus管脚进行检查的。但是Vbus管脚和UART1的TXD复用,导致我们在使用UART1…

关于STM32F105/107来说,为了监测USB的衔接问题,程序默许是经过Vbus管脚进行查看的。可是Vbus管脚和UART1的TXD复用,导致咱们在运用UART1发送数据时分,USB重启的问题。为了处理这个问题,自己查了很多的材料和咨询了不太靠谱的STM32技术支持,一向没有得到处理的办法。

在STM32F105数据手册上是这样说的“假如另一个同享的外设要运用OTG_FS_VBUS引脚(PA9)或把它作为通用I/O口,有必要激活PHY的断电形式(铲除OTG_FS_GCCFG寄存器的位16)。”这个位在程序中的界说如下:

  1. gccfg.d32 = 0;
  2. gccfg.b.vbussensingB = 1;
  3. gccfg.b.pwdn = 1;

仿制代码

位16即为pwdn,在程序中把这个为清零后USB底子不会去查看USB枚举,彻底无法完成USB通讯,所以依据手册处理是不可的。

咱们都知道STM32F103是经过在D+管脚上参加上拉电阻完成软衔接的,那么同样在这个管脚上进行软衔接操控,初始化后直接把D+上拉,这样USB查看是没有问题了,一起在经过UART1的TXD发送数据时,因为D+现已被上拉,所以即便Vbus被拉低了但D+仍是被拉高,过USB不会重启,然后完成了USB和UART1的共用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/276009.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部