【问题标题】:Arduino changes COM port when uploading code (Windows)上传代码时 Arduino 更改 COM 端口 (Windows)
【发布时间】:2016-09-13 22:04:12
【问题描述】:

我正在 Windows 中测试新的 MKR1000。我遇到了一个烦人的问题,每次我将新代码上传到板上时,Windows 都会在另一个端口中重新安装 Arduino 驱动程序。例如:

如果 Arduino 安装在 COM4 上,当我将代码上传到开发板时,Windows 决定在 COM5 上安装 Arduino。这导致 IDE 告诉我上传过程失败(因为 COM5 上没有连接 Arduino),但奇怪的是,代码实际上正确上传。

如果我想打开串行监视器,我需要进入 IDE 并将 Arduino 端口更改回 COM4。每次我将新代码上传到 Arduino 时,让 Windows 执行驱动程序安装过程非常烦人。

一些通用信息:

  • Windows 7 和 8 都会出现这种情况
  • 我正在使用 Blink 示例(引脚 6)进行故障排除
  • Arduino IDE (1.6.11) 和 Arduino Create (1.0.38) 都会出现问题
  • MKR1000 已正确安装在 Windows 中,在设备管理器中显示为“Arduino MKR1000 (COM4)”
  • SAMD Board 1.6.6 已安装
  • 尝试了多条 USB 数据线

Arduino IDE中的错误是:

Arduino: 1.6.11 (Windows 7), Board: "Arduino/Genuino MKR1000"
Sketch uses 7,972 bytes (3%) of program storage space. Maximum is 262,144 bytes.
Forcing reset using 1200bps open/close on port COM4
PORTS {COM3, COM4, } / {COM3, } => {}
PORTS {COM3, } / {COM3, } => {}
PORTS {COM3, } / {COM3, } => {}
PORTS {COM3, } / {COM3, COM5, } => {COM5, }
Found upload port: COM5
C:\Users\40009929\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.6.1-arduino/bossac.exe -i -d --port=COM5 -U true -i -e -w -v C:\Users\40009929\AppData\Local\Temp\build9c9ef3bdfe2fccb480bc6e4bac749e41.tmp/Blink.ino.bin -R 
Set binary mode
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
version()=v2.0 [Arduino:XYZ] Nov 24 2015 11:35:16
chipId=0x10010005
Connected at 921600 baud
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
Atmel SMART device 0x10010005 found
write(addr=0x20004000,size=0x34)
writeWord(addr=0x20004030,value=0x10)
writeWord(addr=0x20004020,value=0x20008000)
Device       : ATSAMD21G18A
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
Chip ID      : 10010005
version()=v2.0 [Arduino:XYZ] Nov 24 2015 11:35:16
Version      : v2.0 [Arduino:XYZ] Nov 24 2015 11:35:16
Address      : 8192
Pages        : 3968
Page Size    : 64 bytes
Total Size   : 248KB
Planes       : 1
Lock Regions : 16
Locked       : readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
readWord(addr=0x41004020)=0xffff
none
readWord(addr=0x41004018)=0
Security     : false
Boot Flash   : true
readWord(addr=0x40000834)=0x7000a
BOD          : true
readWord(addr=0x40000834)=0x7000a
BOR          : true
Arduino      : FAST_CHIP_ERASE
Arduino      : FAST_MULTI_PAGE_WRITE
Arduino      : CAN_CHECKSUM_MEMORY_BUFFER
Erase flash
chipErase(addr=0x2000)
done in 0.823 seconds

Write 8124 bytes to flash (127 pages)
write(addr=0x20005000,size=0x1000)
writeBuffer(scr_addr=0x20005000, dst_addr=0x2000, size=0x1000)

SAM-BA operation failed
An error occurred while uploading the sketch

[===============               ] 50% (64/127 pages)write(addr=0x20005000,size=0xfc0)
writeBuffer(scr_addr=0x20005000, dst_addr=0x3000, size=0xfc0)

[==============================] 100% (127/127 pages)
done in 0.051 seconds

Verify 8124 bytes of flash with checksum.
checksumBuffer(start_addr=0x2000, size=0x1000) = 7923
checksumBuffer(start_addr=0x3000, size=0xfbc) = b6c0
Verify successful
done in 0.010 seconds
CPU reset.
readWord(addr=0)=0x20007ffc
readWord(addr=0xe000ed00)=0x410cc601
readWord(addr=0x41002018)=0x10010305
writeWord(addr=0xe000ed0c,value=0x5fa0004)

在 Arduino Create 中问题是一样的:

Atmel SMART device 0x10010005 found

Device : ATSAMD21G18A

Chip ID : 10010005

Version : v2.0 [Arduino:XYZ] Nov 24 2015 11:35:16

Address : 8192

Pages : 3968

Page Size : 64 bytes

Total Size : 248KB

Planes : 1

Lock Regions : 16

Locked : none

Security : false

Boot Flash : true

BOD : true

BOR : true

Arduino : FAST_CHIP_ERASE

Arduino : FAST_MULTI_PAGE_WRITE

Arduino : CAN_CHECKSUM_MEMORY_BUFFER

Erase flash

done in 0.822 seconds

Write 8116 bytes to flash (127 pages)


[=============== ] 50% (64/127 pages)
[==============================] 100% (127/127 pages)

done in 0.052 seconds

Verify 8116 bytes of flash with checksum.

Verify successful

done in 0.010 seconds

CPU reset.

SAM-BA operation failed

Could not program the board

【问题讨论】:

    标签: windows arduino arduino-mkr1000


    【解决方案1】:

    嗨,根据您的输出,这样做可能是有原因的。 如果我错了,其他开发者可以纠正我。

    当您将代码上传到 ATSAMD21 时,

    -->使用的 IDE/开发环境将板子置于引导加载程序模式 5 秒。 (在 1200bps 时)//第 1 步

    -->但是当它上传程序到开发板时,bootloader会在上传成功后锁定并改变它的端口//STEP 2

    -->在第 1 步,micro 作为 NATIVE USB Port 工作并调用 PROGRAMMING USB Port

    -->在第 2 步,微控制器完成编程并在复位后返回其默认状态 - 本地 USB 端口(这是您的 COM 端口更改为下一个端口的地方)。

    -->如果您在打开 hyperterm 并在 5 秒内以 1200bps 的速度打开连接的 Arduino 端口(例如 COM4)时仔细观察,在您的设备管理器中,您会注意到一个 USB 串行设备代替了您的 Arduino MKR 板。

    希望对你有帮助。

    【讨论】:

      【解决方案2】:

      是的,我也遇到了同样的问题。尝试下载 arduino Advance ide(增强版)。

      Here

      这应该会有所帮助,因为当它确实更改端口时,它会告诉您并询问您是否愿意。

      希望对您有所帮助!

      【讨论】:

      • 我希望将 MKR1000 与 Arduino Create(浏览器 IDE)一起使用。
      • 已经有一个:link 你可以直接从这里上传你的代码到 arduino 请考虑投票以防你喜欢
      【解决方案3】:

      这是我对 SAM-BA 操作的修复失败。 情况 带有 USB3 端口的 Windows 7(以前在只有 USB2 端口的 Windows 7 机器上工作) 上传到 Sparkfun Redboard Turbo

      在 PC 和开发板之间放置一个 USB 2 集线器。

      SAM-BA 错误不再发生

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-18
        • 2010-11-15
        • 1970-01-01
        相关资源
        最近更新 更多