打印
[STM32F1]

stm32f10x的usb怎么判断是否连上电脑USB口

[复制链接]
1025|44
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ousj|  楼主 | 2021-12-7 23:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32f10x的usb怎么判断是否连上电脑USB口

使用特权

评论回复
沙发
stly| | 2021-12-7 23:51 | 只看该作者

楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
ousj|  楼主 | 2021-12-7 23:54 | 只看该作者
现在用stm32f10x的usb做虚拟串口,当连接上或断开电脑端usb口后,是否有相应的状态判断函数进行判断连接成功或断开连接?

使用特权

评论回复
地板
ousj|  楼主 | 2021-12-7 23:55 | 只看该作者
自己搜索了下,应该是这个bDeviceState变量 如果bDeviceState = UNCONNECTED代表断开连接
typedef enum _DEVICE_STATE
{
  UNCONNECTED,
  ATTACHED,
  POWERED,
  SUSPENDED,
  ADDRESSED,
  CONFIGURED
} DEVICE_STATE;
不知道是否正确

使用特权

评论回复
5
ousj|  楼主 | 2021-12-7 23:57 | 只看该作者
测试发现 上电初始化bDeviceState = UNCONNECTED
但连接电脑后 会变bDeviceState = ADDRESSED ,如果拔掉USB线,bDeviceState = ADDRESSED ,无法探测是否断开usb

使用特权

评论回复
6
jlyuan| | 2021-12-7 23:58 | 只看该作者
不同芯片usb库有区别,看一下断开usb 的相关代码.

使用特权

评论回复
7
sadicy| | 2021-12-8 15:26 | 只看该作者
标志位,或者可通信

使用特权

评论回复
8
zwll| | 2021-12-8 19:21 | 只看该作者

电脑不能识别吗?

使用特权

评论回复
9
stly| | 2021-12-8 19:25 | 只看该作者
看设备管理器里面是否存在设备

使用特权

评论回复
10
supernan| | 2021-12-8 19:27 | 只看该作者
这个有相关参考设计的。

使用特权

评论回复
11
huangchui| | 2021-12-8 19:29 | 只看该作者
虚拟串口是需要驱动的?

使用特权

评论回复
12
stly| | 2021-12-8 19:30 | 只看该作者
这个是需要热插拔才能实现吗?

使用特权

评论回复
13
dingy| | 2021-12-8 19:32 | 只看该作者
usb没有开发过。

使用特权

评论回复
14
xxrs| | 2021-12-8 19:35 | 只看该作者
在USB的协议里,只有主机和HUB具有设备移出检测功能,作为从设备(device)往往不具有设备断开连接的检测,需要自己设计一种检测机制,判断 USB主设备是否与之断开。

使用特权

评论回复
15
huangchui| | 2021-12-8 19:37 | 只看该作者
STM32的USB是OTG设备,既可以作为主机也可以作为设备,当其作为设备通过USB与PC通信时,可能会需要STM32 检测是否与PC断开连接,这时候不可以向PC发数据,在PC连接上时,可以继续USB通信。

使用特权

评论回复
16
zhenykun| | 2021-12-8 19:39 | 只看该作者
https://wenku.baidu.com/view/5d5e8b38804d2b160b4ec0d8.html

使用特权

评论回复
17
yszong| | 2021-12-8 19:41 | 只看该作者
usb所使用的IO口在设置为usb后自动分配功能

使用特权

评论回复
18
stly| | 2021-12-8 19:49 | 只看该作者
这个以前用过stm32自己开发的例程。

使用特权

评论回复
19
pengf| | 2021-12-8 19:51 | 只看该作者
这个都是电脑识别驱动的。

使用特权

评论回复
20
yufe| | 2021-12-8 19:53 | 只看该作者
具体需要看usb的操作。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

712

主题

7557

帖子

1

粉丝