发布
社区首页 >问答首页 >Arduino启动速度极慢

Arduino启动速度极慢
EN

Stack Overflow用户
提问于 2018-03-21 14:04:50
回答 1查看 35关注 0票数 0

我使用Arduino Mega2560通过HX711电桥读取8个测压元件。在故障排除过程中,我意识到Arduino需要很长时间才能启动。我试着把一些消息放在调试上,比如:

代码语言:javascript
代码运行次数:0
复制
void setup() {
  // initialize communication
  Serial.begin(115200);
  Serial.println("Comm Started");
  // initialize Pins
  pinMode(30, INPUT); // Pin 30: Strain Gauge 1, DATA channel
  pinMode(31, INPUT); // Pin 31: Strain Gauge 2, DATA channel
  /* some other codes*/
  Serial.println("Pin Mode Set");
  /* some other codes*/
  Serial.println("Starting init gauges");
}

当草图成功加载时,我打开了串行监视器,然后我需要等待100~120秒,然后显示"Comm Started“,随后显示另外两条消息。在此之后,其余的代码运行正常。

我不确定它是否正确,但我认为setup()是Arduino在加载草图后启动时应该做的第一件事。既然setup()的第一件事就是打开通信并打印消息,那么它应该不会有任何延迟,对吧?

导致这种2分钟延迟的问题可能是什么?会不会是硬件问题(例如,我连接到HX711s的电线或影响性能的电源/地),或者某些软件错误也会导致这种情况?

非常感谢。

新增信息:

我将打印millis()的代码放在每个循环中,并将100ms的延迟放在loop()中,我得到的结果是:

因此,它会在2分钟空白之后启动所有内容(包括内部时钟)。

EN

回答 1

Stack Overflow用户

发布于 2018-03-21 22:25:38

您需要了解这是从哪里来的,所以最简单的方法是从最简单的设置开始。

上传以下程序:

代码语言:javascript
代码运行次数:0
复制
void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
    Serial.begin(115200);
    digitalWrite(LED_BUILTIN, HIGH);
    Serial.println("Serial startup complete.");
}

void loop() {
}

然后断开Arduino USB或任何可能使用串行端口的外部设备的连接。

给Arduino供电(不是用USB接口,而是用电源连接器,所以你要确保你没有把任何东西连接到串行端口上),它会初始化端口,完成后会点亮13针中的LED作为指示器

在您给arduino通电后,LED应该会立即亮起,如果没有,说明您的主板有问题,请尝试其他主板。

否则,开始添加代码,直到看到延迟出现,并尝试找出导致延迟的原因。

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

https://stackoverflow.com/questions/49399292

复制
相关文章

相似问题

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