Serial port “我怎么能?”;重置";Arduino董事会?
我已经上传了一个Arduino Uno,其循环如下:Serial port “我怎么能?”;重置";Arduino董事会?,serial-port,arduino,reset,Serial Port,Arduino,Reset,我已经上传了一个Arduino Uno,其循环如下: void loop(){ Serial.println("Hello, World!"); } 所以,现在,我不能再上传任何东西了,因为IDE上写着“端口已经在使用” 有没有一种方法可以在没有其他程序员的情况下“重置”Arduino 没有其他东西在使用串行端口,一切都很顺利,直到我上传了之前的草图 我发现了一些有趣的事情: 确保您没有从终端访问串行端口。该循环(或任何代码)不应阻止对Arduino进行编程。如果串行控制台仍然
void loop(){
Serial.println("Hello, World!");
}
所以,现在,我不能再上传任何东西了,因为IDE上写着“端口已经在使用”
有没有一种方法可以在没有其他程序员的情况下“重置”Arduino
没有其他东西在使用串行端口,一切都很顺利,直到我上传了之前的草图
我发现了一些有趣的事情:
在引导加载程序启动程序之前有一个延迟,只需调整时间即可。当我的Arduino代码中的一个bug每500毫秒执行一次软重置时,它对我起到了作用。我在两个Arduinos(一个Uno和一个现代设备Freeduino/USB主机板)上遇到了同样的问题,重置和开始使用串行端口之间的窗口太小,无法上传 我最终修复了这个问题,购买了另一个Arduino Uno,并根据构建了一条ISP电缆,使用Arduino IDE版本0023将示例中的裸体应用程序闪存到每个无法访问的板中,然后更改preferences.txt。(请确保在编辑原始文件之前保存该文件,以便在解救Arduino后替换它。) 只需一次快速上传即可修复每个板。在经历了这么多的悲伤之后,这么快就解决了。您可能不想购买另一个ARDUNO,但是考虑这些好处:
- 您可以覆盖Arduino上的引导加载程序以获得更多空间
- 一旦引导加载程序被覆盖,电路板将更快地引导
- 据推测,您可以为特殊项目编写原始AVR,但我还没有尝试过:谷歌为ArduinoISP
- 它将很快修复您在将来阻止的Arduinos
- 您现在可以安全地进行实验,以找到防止将来使用串行端口锁定设备的方法
如果您试图通过USB电缆编程,以下是最好的解决方法:
你们都准备好了 确保将Arduino直接插入计算机,而不是通过集线器。使用集线器将导致此错误。对于用户,请尝试通过以太网/Wi-Fi上传(菜单工具→ 端口)
我也遇到了同样的问题,我尝试了几乎所有的方法(除了烧掉一个新的引导加载程序)。我很惊讶它能起作用,但我上传了一个空的草图,没有任何问题。我刚刚花了五个小时寻找这个问题的解决方案(串口COM3已经在使用,串口变灰了)…我尝试了所有我能找到的论坛和问答网站建议的一切,包括这个 是什么最终修复了它(去掉了我输入的最后一个卡住的代码并上传了简单的闪烁功能) 遵循此链接,并按照安装驱动程序的说明进行操作。我的司机“已经是最新的”,但按照这些步骤修复了故障。我现在又是一个快乐的露营者了 注意:使用芯片上的按钮手动重置电路板,或通过互联网上的其他代码以数字方式重置电路板,无法解决此问题,因为信号在我和笔记本电脑的端口之间被某种方式阻塞/混淆。更新驱动程序就像重置“串行端口已在使用”问题
至少到目前为止…我也遇到了您的问题,我通过以下步骤解决了问题(尽管您可能已经完成了问题,但它只供访问此页面的任何人共享):
在我对这个问题摸不着头脑之后,这里有一个非常简单的解决方案,可以随时使用:
- 拔下USB电缆
- 进去
- 单击端口(COM和LPT)
- 右键单击Arduino…(COMx)
- 性质
- 端口设置
- 将流量控制置于硬件
- 创建空草图(可选)
- 连接USB电缆
- 上传(Ctrl+U)
瞧 我也遇到了类似的问题 如果我打开我的Arduino,在上传的程序执行之前会有一个延迟 因此,我使用该延迟上载新程序或空程序:
void setup(){}
void loop(){}
所以我的问题解决了
void setup(){}
void loop(){}
# while true; do xinput float $(xinput --list | grep -i Arduino | awk '{print $7}' | cut -d'=' -f 2); done
# watch xinput --list