这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【求助】STM32F103C8开发的USB设备不能连接充电器?【已解决】

共13条 1/2 1 2 跳转至

【求助】STM32F103C8开发的USB设备不能连接充电器?【已解决】

高工
2015-01-09 11:32:47     打赏

大家好,我现在使用STM32F103C8开发了一个USB程序(实际是使用ST官方的USB虚拟串口工程改的,把USB与串口之间的数据交换改成了USB与STM32内存数据的交换),连接PCB时通信功能和其他外部功能一切正常,但是在连接常规充电器的时候就会死机,所有的操作都不能用了,我的USB接口电路和下图差不多,只是D+上多了一个1.5K的上拉电阻,ID线没有使用,求高手指点:




关键词: STM32F103C8     充电器     USB    

助工
2015-01-09 12:01:22     打赏
2楼

是不是利用USB口供电的时候,电流把电压拉低?



院士
2015-01-09 21:35:15     打赏
3楼
现在有部分充电器的D+与D-两根线是短路掉的。

高工
2015-01-11 20:31:41     打赏
4楼
的确是这样子,但是如何做一个检测和处理呢,既能够让PC正常的枚举,也不会让STM32出现假死的现象。

高工
2015-01-11 20:33:44     打赏
5楼
是因为在配置好了USB后,外部上拉电阻使能的情况下,电脑插上会正常枚举,但是如果接上非USB主机的充电器时就会不正常,感觉是上拉电阻和USB配置的顺序引起的,在配置之前不知道能不能做个什么检测之类的来判断是否该初始化USB接口,据说有个国标,但不是很清楚

院士
2015-01-11 23:08:29     打赏
6楼
可以先检测GPIO口的状态,然后再枚举嘛~~

高工
2015-01-12 10:06:06     打赏
7楼
枚举是PC发起的,单片机端只能决定是否初始化USB功能好像

院士
2015-01-12 23:21:07     打赏
8楼
是那个1.5K的上拉电阻给的电脑信号

高工
2015-01-13 11:37:28     打赏
9楼
是的,现在找到方法了,直接把usbpwr.c里面的SUSPEND() 函数体中的操作注释掉就OK了。

院士
2015-01-13 20:57:48     打赏
10楼
真棒~~

共13条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]