私はこのコードブロックを書きました:
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();
}
すべてがOKのときに私がしたことによると(インターネット接続はOKで、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 から時刻を取得する
ゼロと「4 番目の NTPServer の動作」は、connWithNTP に由来します。