首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >上传代码时Arduino更改COM端口(Windows)

上传代码时Arduino更改COM端口(Windows)
EN

Stack Overflow用户
提问于 2016-09-13 22:04:12
回答 3查看 2.9K关注 0票数 2

我正在Windows中测试新的MKR1000。我有一个恼人的问题,导致Windows重新安装在另一个端口的Arduino驱动程序,每次我上传新代码到板。例如:

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

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

一些一般性信息:

  • 这在Windows 7和8中都会发生
  • 我正在用Blink示例进行故障排除(pin 6)
  • 这些问题发生在Arduino IDE (1.6.11)和Arduino Create (1.0.38)中。
  • MKR1000在Windows中正确安装,在设备管理器中显示为'Arduino MKR1000 (COM4)‘
  • 安装了SAMD板1.6.6
  • 试用多个USB电缆

Arduino IDE中的错误是:

代码语言:javascript
运行
复制
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创建中,问题是相同的:

代码语言:javascript
运行
复制
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
EN

回答 3

Stack Overflow用户

发布于 2018-08-16 03:24:31

嗨,基于您的输出,可能有一个原因,它这样做。如果我错了,其他开发人员可以纠正我。

当您将代码上载到ATSAMD21时,

->所使用的IDE/开发环境将使板进入引导加载程序模式5秒。( 1200bps) //步骤1

->但当它将程序上传到板时,引导加载程序在成功上传后锁定,并更改其端口//步骤2

->在步骤1中,微操作为本地USB端口,并调用编程USB端口

->在步骤2中,微程序完成编程,并在重置后返回其默认状态--原生USB端口(这是COM端口更改到下一个端口的地方)。

希望能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2016-09-15 00:57:24

是的,我也有同样的问题。尝试下载arduino advance (增强版本)。

这里

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

希望能帮上忙!

票数 0
EN

Stack Overflow用户

发布于 2020-09-17 06:35:31

这是我对SAM操作失败的修正。使用USB3端口的情景Windows 7(以前只使用USB2端口的Windows 7机器)上传到Sparkfun

将USB 2集线器放在PC机和电路板之间。

SAM-BA错误不再发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39479678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档