首页 文章

Arduino起步非常缓慢

提问于
浏览
0

我正在使用Arduino Mega 2560通过HX711桥接器读取8个称重传感器 . 在故障排除期间,我意识到Arduino需要很长时间才能启动 . 我试着给调试一些消息,比如:

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分钟延迟的问题可能是什么?它是硬件问题(例如我连接到HX711的电线还是影响性能的电源/接地)或某些软件错误也可能导致这种情况?

非常感谢你 .

补充信息:

我把在每个循环中打印 millis() 的代码和 loop() 中的100ms延迟,我得到的是这样的:

screenshot of Serial Monitor

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

1 回答

  • 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应该几乎立即打开,如果没有,你的电路板有问题,试试另一个 .

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

相关问题