我正在使用Arduino Mega 2560通过HX711桥从8个称重传感器读取数据。在故障排除期间,我意识到Arduino需要很长时间才能启动。我试着把一些消息用于调试,比如:
setup()
当草图成功加载后,我打开了串行监视器,然后我需要等待100~120秒才显示“Comm Started”,然后是其他两条消息。其余代码在此之后运行正常。
我不确定它是否正确但我认为setup()
是Arduino在加载草图后开始时应该做的第一件事。由于millis()
中的第一件事是打开通讯并打印消息,所以它不应该有任何延迟,对吗?
引入这个2分钟的延迟可能是什么问题?它是硬件问题(例如我连接到HX711的电线还是影响性能的电源/接地)或某些软件错误也可能导致这种情况?
非常感谢。
添加信息:
我在每个循环中放置了loop()
的代码,在{{1}}中放置了100毫秒的延迟,我得到的是:
所以它会在2分钟的空白后启动所有内容(包括内部时钟)。
答案 0 :(得分: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应该几乎立即开启,如果没有,你的电路板有问题,试试另一个。
否则开始添加代码,直到看到延迟出现并尝试找出导致它的原因。