当前位置:   article > 正文

Arduino(NodeMcu)上传程序时出现“上传错误:exit status 2”

exit status 2

总结:个人分析的导致这种情况的根本原因

由于上传数据的端口被占用:例如外部使用串口调试助手查看串口输出的数据

源程序

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
  // put your main code here, to run repeatedly:
Serial.println("test");
delay(1000);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

上传程序时出现下面的报错信息

本来以为是因为串口循环显示导致内存不够。但查看报错信息中发现还有很大占比的容量没使用。

. Variables and constants in RAM (global, static), used 28096 / 80192 bytes (35%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ DATA     1496     initialized variables
╠══ RODATA   928      constants       
╚══ BSS      25672    zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 43379 / 65536 bytes (66%)
║   SEGMENT  BYTES    DESCRIPTION
╠══ ICACHE   16384    reserved space for flash instruction cache
╚══ IRAM     26995    code in IRAM    
. Code in flash (default, ICACHE_FLASH_ATTR), used 236084 / 1048576 bytes (22%)
║   SEGMENT  BYTES    DESCRIPTION
╚══ IROM     236084   code in flash   
esptool.py v3.0
Serial port COM5
上传失败: 上传错误:exit status 2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

第一种情况:完全在Arduino IDE上上传数据时

即使打开了串口通信,在上传程序时,串口通信也会自动关闭。 所以只是在IDE中查看串口和上传程序,都不会出现问题。

第二种情况:使用外部串口助手查看数据

首先,可以确定的是:只要外部串口助手中设置的参数和程序中设置的参数一致,那么串口助手也是可以查看数据的收发的。但在使用外部串口助手查看数据收发时,若同时上传程序就会出现错误。主要原因还是串口被占用。同理,当进行程序上传时,外部串口就算是设置合适的参数也依然不能正常读取串口发送数据

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号