串行端口不适用于 Surface Book
Serial Port not working on Surface Book
我有一个 Microsoft Surface Book,我已经双启动 Linux Mint。我正在编写一个需要从串行端口读取数据的程序,但我的串行端口似乎不工作。该行为在 Mint 和 Windows 中是一致的(通过 Cygwin 完成测试)。它在设备插入的前 2-5 秒内获取一些数据(通过屏幕查看数据,如果我只使用 pyserial 打印从串行端口传入的数据,也会发生同样的事情),然后什么都没有。
可能会发生什么?我想我已经将问题隔离到串行端口 - Surface Book 有 2 个 USB 端口,并且它们都发生了同样的事情,我已经测试了我在另外两台计算机上插入的硬件(一台Linux 和一个 Mac OS),它在这两个上都运行良好。
您的 MS Surface 似乎有一个黄色三角形感叹号图标(在适配器图标上方),没有任何驱动程序 install/download。设备状态框中的属性 window 表示 This device cannot start. (Code 10)
或 A device which does not exist was specified
。对吗?
如果是这样,您应该等待 MS 的更新。这是臭名昭著的问题。
也许这会有所帮助:
串口通信见Arduino实例-搜索google:
- arduino 串行 c++
- arduino 串行 c#
- arduino 串行 c++ linux
重点是正确打开端口你需要打开一个文件,而不是一个端口。不使用通常的 c - 程序集写入端口代码。
您正在使用无意中购买的带有假 PL2303 芯片的假 USB 转串口电缆的另一种选择
然后你需要安装旧版本的驱动程序。
在 google 中搜索:
假 PL2303 + 您的 os 姓名:
安装假PL2303驱动windows10
另一种选择可能是节省能源并关闭os端口,因为它感觉它未被使用。
在 windows> 设备管理器,> 设备属性 - 通常是 USB 根集线器 > 电源管理 - 允许计算机关闭此设备以节省电量 - 取消选中它。
https://superuser.com/questions/408683/why-my-usb-mouse-gets-suspended-after-3-seconds-of-inactivity
此外,您可以查看 windows 事件 - 看看会发生什么。通常,此类故障会记录在事件日志中。
一个不太可能的选择是它消耗太多电流,比如短路。器件保护电路将芯片关断。也可能它没有这样的电路。一个 possibility 是尝试使用外部供电集线器。
most 可能是省电机制
几个月后我因为一个不相关的问题在保修期内更换了电脑,你知道吗,在新电脑上串口工作正常。这对我来说表明存在某种硬件问题,因为该问题在 OS 中一直存在。
我遇到了同样的问题 - 在另一个网站上找到了解决方案。 Surface Book 上的 USB 3 端口与 Com 端口不兼容,但 运行 通过廉价 USB 集线器的设备立即解决了我的问题,Arduino 立即识别了它 IDE
我有一个 Microsoft Surface Book,我已经双启动 Linux Mint。我正在编写一个需要从串行端口读取数据的程序,但我的串行端口似乎不工作。该行为在 Mint 和 Windows 中是一致的(通过 Cygwin 完成测试)。它在设备插入的前 2-5 秒内获取一些数据(通过屏幕查看数据,如果我只使用 pyserial 打印从串行端口传入的数据,也会发生同样的事情),然后什么都没有。
可能会发生什么?我想我已经将问题隔离到串行端口 - Surface Book 有 2 个 USB 端口,并且它们都发生了同样的事情,我已经测试了我在另外两台计算机上插入的硬件(一台Linux 和一个 Mac OS),它在这两个上都运行良好。
您的 MS Surface 似乎有一个黄色三角形感叹号图标(在适配器图标上方),没有任何驱动程序 install/download。设备状态框中的属性 window 表示 This device cannot start. (Code 10)
或 A device which does not exist was specified
。对吗?
如果是这样,您应该等待 MS 的更新。这是臭名昭著的问题。
也许这会有所帮助:
串口通信见Arduino实例-搜索google:
- arduino 串行 c++
- arduino 串行 c#
- arduino 串行 c++ linux
重点是正确打开端口你需要打开一个文件,而不是一个端口。不使用通常的 c - 程序集写入端口代码。
您正在使用无意中购买的带有假 PL2303 芯片的假 USB 转串口电缆的另一种选择 然后你需要安装旧版本的驱动程序。 在 google 中搜索:
假 PL2303 + 您的 os 姓名:
安装假PL2303驱动windows10
另一种选择可能是节省能源并关闭os端口,因为它感觉它未被使用。
在 windows> 设备管理器,> 设备属性 - 通常是 USB 根集线器 > 电源管理 - 允许计算机关闭此设备以节省电量 - 取消选中它。
https://superuser.com/questions/408683/why-my-usb-mouse-gets-suspended-after-3-seconds-of-inactivity
此外,您可以查看 windows 事件 - 看看会发生什么。通常,此类故障会记录在事件日志中。
一个不太可能的选择是它消耗太多电流,比如短路。器件保护电路将芯片关断。也可能它没有这样的电路。一个 possibility 是尝试使用外部供电集线器。
most 可能是省电机制
几个月后我因为一个不相关的问题在保修期内更换了电脑,你知道吗,在新电脑上串口工作正常。这对我来说表明存在某种硬件问题,因为该问题在 OS 中一直存在。
我遇到了同样的问题 - 在另一个网站上找到了解决方案。 Surface Book 上的 USB 3 端口与 Com 端口不兼容,但 运行 通过廉价 USB 集线器的设备立即解决了我的问题,Arduino 立即识别了它 IDE