Yanıtlar:
Onlar çatışma yok millis()kesinlikle acil değerini okur TCNT0zamanlayıcı 0 kullanımları yoluyla değerini karşılaştırmak için donanım yeteneğini PWM oysa TCNT0değerlerle OCR0xbunlardan herhangi değerini etkilemeden.
Sorunuzu doğrudan cevaplayan @ Ignacio'nun cevabına eklemek için. Bahsettiğiniz "çatışma", Timer0ön ölçekleyici ile ilgilidir.
Çoğunlukla, bu pinleri (tesadüfen UNO üzerindeki 5 ve 6 pinleri) PWM ile sorunsuz bir şekilde kullanabilir ve doğru değerini okuyabilirsiniz millis()(ve beklenen gecikmeyi de alabilirsiniz delay)
Sorunlarla karşılaştığınız yer, ön ölçekleyiciyi değiştirmek istiyorsanız (genellikle PWM sinyalinin frekansını değiştirmek için). Bunu değiştirirseniz, hesaplamasını ve raporlamasını millis()ve uzunluğunu doğrudan etkiler delay(x).
millis ()ya da delay ()yine de sarmalayıcılar yazabiliyorsunuz
millis()Zamanlayıcı 0 taşma sayılarını kullanır.micros()içindeki anlık değeri okurTCNT0.