4
delay(time); vs if(millis()-previous> time); そしてドリフト
古いプロジェクトを通過すると、次のようなコードが2つのArduino Dueにありました void loop() { foo(); delay(time); } 心に取って大多数の文献を使用してdelay();、私としてこれを再コード void loop() { static unsigned long PrevTime; if(millis()-PrevTime>time) { foo(); PrevTime=millis(); } } ただし、これにより、2つのデバイスが以前はドリフトしなかった期間にドリフトする状況が発生したようです 私の質問は2つあります。 なぜif(millis()-PrevTime>time)よりドリフトを引き起こすの でしょうdelay(time)か? 戻ることなくこのドリフトを防ぐ方法はありdelay(time)ますか?