原文地址::stm32F072 USB内部上拉电阻软件控制不了 (amobbs.com 阿莫电子论坛)

相关文章

1、USB的上拉电阻----USB的上拉电阻 - STM32/STM8单片机论坛 - ST MCU意法半导体官方技术支持论坛 - 21ic电子技术开发论坛

2、[USB] USB2.0高速,全速和低速上拉电阻的区分----USB2.0高速,全速和低速上拉电阻的区分 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!

3、USB Host的上拉下拉电阻 ----https://www.cnblogs.com/zhaocundang/p/5937875.html

4、STM32 USB详细使用说明----STM32 USB详细使用说明_獠的专栏-CSDN博客_stm32 usb

最近在学习USB相关的知识,从底层一点一点开始写驱动,但是遇到了点问题。
使用的芯片型号:stm32F072C8T6
USB的DM和DP分别连接到PA11和PA12

发现的问题如下:
(1)使用标准库写一个在main函数,并在其中只写一个while(1) 下载进单片机,然后将板子通过usb和电脑连接,电脑可以发现未识别的设备。

疑问:我认为默认USB设备是关闭的,那么对应的IO应该是普通IO状态,所以应该不会出现现未识别的设备

(2)通过查阅相关手册得知,通过控制USB寄存器USB_BCDR中的bit15 DPPU位可以控制内部的DP上拉电阻的连接和断开,以此来模拟USB设备的插入和拔出的过程,因此自己写代码进行相关的测试,但是发现DPPU不管如何改变,通过开发板链接的usb设备始终在设备管理器中显示为未识别设备。(已经基本排除代码问题,因为直接在仿真环境下使用仿真工具修改DPPU的状态USB设备依然不会断开)
         疑问:按照道理来说DPPU是可以控制usb设备的断开和连接的,已经基本排除了是时钟或者其他的影响,难道是想要让DPPU控制有效还需要其他操作或者条件?
(3)我阅读了ST官方提供的USB的代码发现在usb的初始化中并没有对usb使用的两个GPIO做相关初始化,同时如果我在函数一开始就将usb对应的两个引脚初始化为普通IO,那么设备不会在一上电就检测到usb设备,而是在当我开启usb的时候才会发现usb设备。
         疑问:是不是一旦USB功能使能,PA11和PA12就会自动设置对应的GPIO属性。那么就回到了问题(1),我有点怀疑问题(2)DPPU没有作用是和GPIO的初始化有关的,但是到底需要如何设置GPIO,请有相关经验的给我点意见建议。
(4)通过实验发现,虽然DPPU不能模拟设备的插拔的过程,但是通过对usb寄存器USB_CNTR的bit1位 PDWN设置,将其设置为1,设备断开连接,将PDWN设置为0则电脑可以发现未识别的设备。
         疑问:为什么PDWN会有DPPU的功能,但是DPPU的功能却实现不了?

上面四个问题,是我在调试中遇到的,各位帮忙看一下,如果由之前测试过的代码的请您贴一下,以帮助我尽快找到问题的所在,十分感谢。

stm32F072 USB内部上拉电阻软件控制不了相关推荐

  1. SYD8801低功耗【深度睡眠模式】【浅度睡眠模式】【进入睡眠模式后要等待硬件进入睡眠】【内部上拉电阻对功耗的影响】【测试低功耗步骤】

    SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...

  2. stm32设置内部上拉电阻_不知道STM32的GPIO8种模式如何设置?-------看这里

    一.推挽输出: 可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定. 推挽电路是两个参数相同的三极管或 ...

  3. 上拉电阻(Pull-upResistors)

    英文原文地址: https://learn.sparkfun.com/tutorials/pull-up-resistors/introduction 介绍: 上拉电阻在使用微控制器(MCUs)或者其 ...

  4. 吸电流、拉电流、灌电流、上拉电阻、下拉电阻、高阻态等基础知识普及

    吸电流.拉电流输出.灌电流输出 拉即泄,主动输出电流,从输出口输出电流: 灌即充,被动输入电流,从输出端口流入: 吸则是主动吸入电流,从输入端口流入. 吸电流和灌电流就是从芯片外电路通过引脚流入芯片内 ...

  5. 一文读懂上拉电阻:工作原理和阻值确定

    上拉电阻器:它是如何工作的和选择一个值 上拉电阻器非常普遍,您会一直在数字电路中看到它.它只是一个电阻器,从输入端连接到V断续器,电路的正电源. 上拉电阻用于确保在未按下按钮时输入引脚上具有高电平状态 ...

  6. TI芯片GPIO的内部上拉

    TI的DSP芯片,GPIO的内部上拉在默认情况下是使能的(能够配置为PWM输出的GPIO除外,这类GPIO默认情况下内部上拉被禁用).对于在默认情况下内部上拉被使能的GPIO来说,有些情况下,需要对其 ...

  7. 上拉电阻 以及 阻抗匹配

    如上图,这是UART通信部分原理图,先分析一下TX0部分的电路,图上TX0是从芯片直接引出来,左边四PIN的J7是接到外部设备的插针, 当TX0输出低电平时,由于D2阳极电压大于阴极,且压差满足导通( ...

  8. 上拉电阻、下拉电阻功能

    硬件电路设计少不了加上拉电阻和下拉电阻,接下来我说明上拉电阻和下拉电阻各功能 上拉电阻 所谓上拉就是将电阻一端接高电平,另外一端接信号端(电阻阻值具体芯片具体分析,一般我用32芯片加10K上拉)(灌电 ...

  9. 关于上拉电阻和下拉电阻的说明

    参考链接 错误接线方式说明: 未添加上拉电阻或下拉电阻的接线方式如下,但是这种方式有问题,无法在实际环境使用,分析如下:当开关合上的时候,开关的左右连通,这时 3.3v 就顺着导线进入 D0,没毛病. ...

最新文章

  1. v-bind 中a标签的使用
  2. 1 关于数据仓库维度数据处理的方法探究系列——维的概述
  3. Spring Boot系列——7步集成RabbitMQ
  4. wxWidgets:wxList< T >类模板的用法
  5. GetLastInputInfo 判断离开状态
  6. 问题:jquery给标签添加事件,但标签还未加载会成功吗
  7. 《DSP using MATLAB》示例Example7.25
  8. 并发容器与框架——并发容器(一)
  9. Softmax回归与冗余性
  10. 浅析ASP.NET应用Autofac获取页面服务
  11. 对话奇安信代码安全丨十年砥砺前行 迎来软件供应链安全的风口
  12. apktook 反编译错误
  13. 苹果ipad怎么录屏_原来苹果手机还能这样投屏!1秒小屏变大屏!太好用了
  14. QQ IP 地址查询相关
  15. 经验正交函数分析(EOF)或主成分分析(PCA)在matlab上的实现及实例
  16. 苹果开发者帐号申请流程
  17. 四方伟业冲刺科创板:年营收为2.8亿 南威软件与文化基金是股东
  18. CentOS7下利用qBittorrent+Flex搭建自己的在线视频播放站
  19. 密码(Password)
  20. STM32 HAL库之IIC

热门文章

  1. 运营商设备常见维护命令,阿尔卡特朗讯7750
  2. 图片水平垂直居中的几种方法总结
  3. freemaker 生成循环表格表格
  4. 二维码/条码识别、身份证识别、银行卡识别、车牌识别、图片文字识别、黄图识别、驾驶证(驾照)识别
  5. ubuntu 15.10运行Xware-desktop失败问题
  6. c语言编写栈程序,栈的基本操作及C语言代码实现
  7. COBIT5给企业带来什么样的价值
  8. 微型连接器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. 银行笔试题目汇总——英语能力测试
  10. 前端面试--谈谈你对MVVM的理解?如何回答