我写了这段代码:
void NTP::setTime() {
connWithNTP();
if(!timeNTPReadyToSet) {
Serial.println("Getting time from RTC");
timeFromRTC();
if (year == 2000) {
while(dhcpTest == false && timeNTPReadyToSet == false) {
Serial.print("Kolaei apo to DHCP");
startEthernetAndUdp();
connWithNTP();
timeFromNTP();
}
}
}
else {
Serial.print("Getting time from NTP");
timeFromNTP();
}
serialPrinting();
}
根据我在一切正常时所做的事情(互联网连接正常且NTP服务器正常工作)。代码将用于else print
从 NTP 服务器获取时间(发生这种情况),我的问题是它不执行 serialPrinting。
此功能仅在串行监视器中打印时间。函数 timeFromNTP 和 timeFromRTC 只是设置包含日历和时间的变量。
我的串行监视器打印从 NTP 服务器获取时间,然后它不打印任何内容。它只是从头开始,因为我已经在循环中设置了这个 setTime 函数。
是否可以让 serialPrinting() 运行?如果我调用 setTime() 时此函数会以任何一种方式执行,我会担心 serialPrinting。
我明白了:
0
0
0
第 4 个 NTPServer 工作
从 NTP 获取时间
0
0
0
0
第 4 个 NTPServer 工作
从 NTP 获取时间
零和“4th NTPServer working”来自 connWithNTP。