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

[复制链接]
1651|44
spark周 发表于 2021-12-8 19:55 | 显示全部楼层
STM32F4有开发usb的库了。
zhaoxqi 发表于 2021-12-8 19:58 | 显示全部楼层
楼主的上位机写好了吗?
jlyuan 发表于 2021-12-8 20:00 | 显示全部楼层
好像usb的热插拔,不容易识别。
dingy 发表于 2021-12-8 20:03 | 显示全部楼层
检测USB断开连接的方法有多种,USB在断开时会有SUSPEND中断,但是USB总线上没有数据时,主机也可以将其挂起,产生SUSPEND中断,所 以这种方法不可靠
zhuhuis 发表于 2021-12-8 20:06 | 显示全部楼层
PC定时向USB device发送数据,当USB device没有收到数据时即可认为USB断开连接
xxrs 发表于 2021-12-8 20:08 | 显示全部楼层
但是这种方法要想提高实时性,就需要传输大量的握手数据,占用USB总线
zwll 发表于 2021-12-8 20:25 | 显示全部楼层
,不利于USB数据的高效 率、高速度的传输
juventus9554 发表于 2021-12-8 20:27 | 显示全部楼层
好的方法是通过硬件实现,在USB的VBUS上做**
dengdc 发表于 2021-12-8 20:29 | 显示全部楼层
USB主机会像device供电,STM32可以检测该电源引脚,在USB连 接时产生上升沿,断开时产生下降沿,据此可以快速判断是否与USB主机断开连接。
 楼主| ousj 发表于 2021-12-8 20:31 | 显示全部楼层
在USB主机请求的时候发送信息应该。
jiajs 发表于 2021-12-8 20:33 | 显示全部楼层
usb hound能够判断吗?
jiajs 发表于 2021-12-8 20:34 | 显示全部楼层
这个上位机也不会写的。
wyjie 发表于 2021-12-8 20:37 | 显示全部楼层
虚拟串口?
最简单是设置一个软件看门狗计数器,在USB中断函数“void USB_Istr(void)”里重置为某个数值,然后在外部定时器中断里递减,减到0,说明已经有一段时间USB口没有活动了,认为USB线已被拔掉/上位机关机。因为正常枚举成功后,主机是每隔1ms就会发一次SOF给USB设备,USB设备就会进入中断……
jlyuan 发表于 2021-12-8 20:40 | 显示全部楼层
没弄过USB,应该是这样的
stly 发表于 2021-12-8 20:42 | 显示全部楼层
感觉这个最靠谱~
huangchui 发表于 2021-12-8 20:47 | 显示全部楼层
请问楼主,问题解决了吗?我现在也碰到这个问题了,可以请教下吗?
 楼主| ousj 发表于 2021-12-8 20:49 | 显示全部楼层

明白了,多谢大家讨论这么多哈
moticsoft 发表于 2021-12-8 21:07 | 显示全部楼层
如果是检测usb插头是否连接,可以检测usb接口的电源来判断。
paotangsan 发表于 2022-1-7 15:11 | 显示全部楼层
有相关标志位吗
tpgf 发表于 2022-1-7 15:15 | 显示全部楼层
电脑识别驱动
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部