STM32 usb 设备实现自动重枚举
在开发USB设备时可能会经常遇到烧录程序后要重新拔插USB接口才能使USB设备正常工作,原因是因为重新烧录后,PC没有对USB设备进行重枚举,导致无法正常工作,解决方法很简单,我们只要在程序启动后第一时间对USB接口的DP引脚进行一下拉低操作即可(模拟一下拔过程),当程序完成USB接口初始化后,相当于一直插入操作,这样PC就会对设备进行重枚举,设备就可以正常操作了:
例如可以有如下代码:
// 以下操作加入是实现USB自动重枚举
GPIO_InitStruct.Pin = GPIO_PIN_12;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_12,GPIO_PIN_RESET);
HAL_Delay(500); // 这里可以适当加点延时,可以保证有重枚举有效
上面的代码尽量放在上电后第一时间操作,如放在MAIN函数的GPIO操作部分,一定要放在USB 设备IO初始化操作之前。
STM32 usb 设备实现自动重枚举相关推荐
- STM32 USB设备远程唤醒机制详解
目录 1.USB Resume信号 2.USB远程唤醒的方式 3.J状态和K状态 4.STM32 USB设备远程唤醒机制详解 5.主机对设备远程唤醒功能状态的获取.清除和设置 1.USB Resume ...
- 用hidusb.sys还是winusb.sys读写一个只有In/Out Interrupt Endpoints的STM32 USB设备?
最近,公司使用STM32F407,开发了一个基于USB的CAN设备(内部称为CAN盒子),USB的固件使用STM32官方提供的BSP进行开发,而没有做任何修改的这个固件,只支持3个EndPoints: ...
- linux自动挂载usb光驱,Linux下使用Usbmount实现USB设备自动挂载
Usbmount 工具可以实现usb设备得自动加/卸载. $ sudo apt-get install usbmount usbmount的配置文件为/etc/usbmount/usbmount.co ...
- linux自动挂载usb打印机,Linux下使用Usbmount实现USB设备自动挂载
Usbmount 工具可以实现usb设备得自动加/卸载. $$ sudo apt-get install usbmount usbmount的配置文件为/etc/usbmount/usbmount.c ...
- Android 连接USB设备(主机模式)
Android 连接USB设备(主机模式) Android 连接USB设备(配件模式) 两种模式(主机.配件) 首先,要了解Android 连接USB设备主要通过两种模式, USB 配件模式. USB ...
- USB over Network通过本地网络或 Internet 共享的远程 USB 设备
USB over Network 允许使用通过本地网络或 Internet 共享的远程 USB 设备. 无论您是在另一个办公室甚至是国家/地区,现在您都可以远程使用任何 USB 设备,就像它连接到本地 ...
- 【远程访问与设备重定向】上海道宁为您助您远程共享USB设备与USB设备重定向到远程会话
USB over Network用于 通过LAN或Internet 与远程USB设备进行通信 远程USB设备可供多个用户共享 当您连接远程共享USB设备时 它们会被识别为 直接连接到本地计算机 USB ...
- php重签ipa,免电脑iOS无限自动重签IPA工具ReProvision教学
当我们透过电脑使用Cydia Impactor来安装IPA时,都会面临到七天授权到期问题,过去都可透过 Ext3nder来解决七天到期问题,不过在32位元设备和iOS 9版本上是无法使用,现在也已经 ...
- 【STM32学习】 基于STM32 USB存储设备的w25qxx自动判断容量检测
简介 使用STM32USB功能配置成Mass Storage Class 存储介质使用w25qxx做U盘时,发现一个比较好玩的事情. 当换不同容量的存储介质时需要改下程序,显示不同的大小. 更改usb ...
最新文章
- 《人件集》阅读笔记第一篇
- renderthread是什么_Android 旗舰机标配的高帧屏(120Hz),对各位 App 开发者有什么影响?...
- BZOJ1795 : [Ioi2008]Pyramid Base 金字塔地基
- java自定义注解类
- 2005年3月9日笔记
- 信息抽取 | 72篇论文梳理:涉及NER、复杂关系、小样本、文档级、多模态、开放域抽取...
- Linux双网卡下的网络故障排查
- Vs2010工具栏显示“开始执行“按钮
- excel中添加图片的代码
- adams c语言,adams2013编译c语言用户子程序生成dll超详细教程讲解.docx
- 渗透测试-SQL注入检测
- AES前端flutter加密与后端java解密pad block corrupted问题
- 《知识就是力量》第二期——“怎样做一个更有价值的人”笔记
- 美团html页面代码,html+css+js制作美团官网
- 想成为“独立名师”,你还要做到哪几点?
- 1#操作系统#响应比
- 简单的Animation实现角色行走(学习笔记)
- jquery选择器找到含有href属性的所有a标签
- 关于栈迁移的那些事儿
- 微星a320m主板可以装服务器系统吗,技嘉a320m主板:微星a320m主板,正式再见