我有一个Microsoft Surface Book,我已经启动了双启动Linux Mint。我正在编写一个需要从串口读取数据的程序,但我的串口似乎无法正常工作。整个Mint和Windows的行为是一致的(通过Cygwin完成的测试)。它在设备插入的前2-5秒内获得了一些数据(通过屏幕查看数据,如果我只是使用pyserial打印从串口传入的数据,则会发生同样的事情),然后什么都没有。
可能会发生什么?我认为我已将问题隔离到串口 - Surface Book有2个USB端口,两者都发生了相同的事情,我已经测试了我插入的硬件在另外两台计算机上(一台Linux和一台Mac OS),它可以正常工作。
答案 0 :(得分:1)
您的MS Surface似乎有一个黄色的三角形感叹号图标(在适配器图标上方),无需安装/下载任何驱动程序。设备状态框窗口中的属性会显示This device cannot start. (Code 10)
或A device which does not exist was specified
。正确?
如果是这样,您应该等待MS的更新。这是臭名昭着的问题。
答案 1 :(得分:1)
几个月之后,我最终将保修期内的计算机更换为无关的问题,您知道,在新计算机上,串口工作正常。这对我来说是一种硬件问题,因为这个问题在整个操作系统中都存在。
答案 2 :(得分:0)
也许这会有所帮助:
请参阅串口通信的Arduino示例 - 搜索谷歌:
重点是正确打开端口需要打开文件,而不是端口。不是通常的c - 程序集写入端口代码。
另一种选择是你使用假意PL2303芯片无意间购买假USB转串口线 那么你需要安装旧版本的驱动程序。 在谷歌搜索:
假PL2303 +您的操作系统名称:
安装驱动程序Fake PL2303 windows 10
另一种选择是节省能量并关闭端口,因为它感觉它未被使用。
Windows中的>设备管理器,>设备的属性 - 通常是USB根集线器>电源管理 - 允许计算机关闭此设备以节省电量 - 取消选中它。
https://superuser.com/questions/408683/why-my-usb-mouse-gets-suspended-after-3-seconds-of-inactivity
另外,您可以查看Windows事件 - 看看会发生什么。通常,这样的故障会在事件日志中注册。
一个不太可能的选择是消耗太多电流,如短路。并且器件保护电路关闭芯片。也可能它没有这样的电路。一种可能性是尝试使用外部供电集线器。
最可能的是省电机制
答案 3 :(得分:0)
我遇到了同样的问题 - 在另一个网站上遇到了解决方案。 Surface Book上的USB 3端口与Com Port的某些功能或其他功能不兼容,但通过便宜的USB集线器运行设备可以立即解决我的问题并立即被Arduino IDE识别