小白求教: 怎么在pc上读usb开关的状态?

chen19881004 2017-10-14 08:35:14
有个感应开关,开关闭合时,通过usb口输出5v电压2A电流,能带动外接的usb风扇转动。现在我想把这个usb开关的输出接到pc的usb口上,在pc上写代码读取它是否闭合的状态,请问各位大神,直接对接可以吗?怎么读?
...全文
419 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2017-10-27
  • 打赏
  • 举报
回复
引用 5 楼 rjw_999 的回复:
[quote=引用 3 楼 of123 的回复:] 明确告诉你,不行。 PC 机上的 USB 电源输出端是输出端口。而你有电平信号的变化的,连接的也恰恰是这个端口。 即便你把这个信号通过上拉电阻连接到其他信号线,如 D+ 或 D-,也仅仅是 USB 主机的底层可以识别到可能有全速或低速设备连接。但应用层无法得到这个信息。除非所连接的设备枚举成功。 如果你在 USB 风扇上并联一个支持 USB 功能的微处理器芯片,让它上电后枚举成一个 USB 设备,PC 的应用端就可以确认这个连接了。还要在你的设备上,将来自 PC USB 的电源断开。否则,一插入 PC 机 USB 端口,你的设备就从 PC 取电启动了。
从驱动程序层应该有可能可以吧[/quote]会有新的问题,比如无法区分真正的 USB 设备插入,还是你的 USB 开关闭合。 当然,你可以设计新的规范,比如将 D+, D- 全部上拉。在主机最底层驱动识别到这个特殊情况时,调用特殊的设备类驱动和 API 接口,向应用层报告。 也就是说,你要完整地写各层的驱动程序,其中一些还要兼容原有驱动程序。更新这些驱动程序(有些底层的是系统文件,甚至是芯片硬编码)也不容易。 总之,太麻烦了。还不如挂 USB 接微处理器来的直接。而且可以在任意一台 PC 上实现。
rjw_999 2017-10-26
  • 打赏
  • 举报
回复
引用 3 楼 of123 的回复:
明确告诉你,不行。 PC 机上的 USB 电源输出端是输出端口。而你有电平信号的变化的,连接的也恰恰是这个端口。 即便你把这个信号通过上拉电阻连接到其他信号线,如 D+ 或 D-,也仅仅是 USB 主机的底层可以识别到可能有全速或低速设备连接。但应用层无法得到这个信息。除非所连接的设备枚举成功。 如果你在 USB 风扇上并联一个支持 USB 功能的微处理器芯片,让它上电后枚举成一个 USB 设备,PC 的应用端就可以确认这个连接了。还要在你的设备上,将来自 PC USB 的电源断开。否则,一插入 PC 机 USB 端口,你的设备就从 PC 取电启动了。
从驱动程序层应该有可能可以吧
河天高云淡 2017-10-16
  • 打赏
  • 举报
回复
这个真不行,usb是是串口通信,而你想读取的是外面的一个开关量。问题就是如何把外面的信号传输给电脑
of123 2017-10-16
  • 打赏
  • 举报
回复
明确告诉你,不行。 PC 机上的 USB 电源输出端是输出端口。而你有电平信号的变化的,连接的也恰恰是这个端口。 即便你把这个信号通过上拉电阻连接到其他信号线,如 D+ 或 D-,也仅仅是 USB 主机的底层可以识别到可能有全速或低速设备连接。但应用层无法得到这个信息。除非所连接的设备枚举成功。 如果你在 USB 风扇上并联一个支持 USB 功能的微处理器芯片,让它上电后枚举成一个 USB 设备,PC 的应用端就可以确认这个连接了。还要在你的设备上,将来自 PC USB 的电源断开。否则,一插入 PC 机 USB 端口,你的设备就从 PC 取电启动了。
tianxj001 2017-10-14
  • 打赏
  • 举报
回复
直接接到PC USB上面,肯定读不了,除非你把USB设备的2根数据线当作一个简单的I/o口,可操作系统又不支持这么做哈。 如果说你非要用USB 接到PC上面去,你得绕这么大一个弯子:单片机采集这个开关信号,然后通过协议,变成串口信号,再然后,通过USB-串口转换器(也有叫TTL刷机线什么的),这样,PC上面写一个串口程序,读这个数据,就可以获取开关量了。 当然,某宝上面,倒是有专门的 USB-开关量 模块 几十到几百都有。买过来直接就可以用了。再按需要自己写一个上位机程序就OK了。
依然冷暖 2017-10-14
  • 打赏
  • 举报
回复
至少在我看来直接对接是想换新电脑了

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧