जवाबों:
वे millis()
कड़ाई से संघर्ष नहीं करते हैं क्योंकि कड़ाई से तत्काल मूल्य पढ़ता है TCNT0
जबकि टाइमर 0 के माध्यम से पीडब्लूएम हार्डवेयर की क्षमता का उपयोग करता है ताकि उनमें से किसी के मूल्य को प्रभावित किए बिना TCNT0
मूल्यों के साथ तुलना OCR0x
की जा सके।
बस @ इग्नासियो के उत्तर को जोड़ने के लिए जिसने सीधे आपके प्रश्न का उत्तर दिया है। आप जिस "संघर्ष" की बात करते हैं, वह Timer0
प्रीस्कूलर के संबंध में है ।
अधिकांश भाग के लिए, आप उन पिनों का उपयोग कर सकते हैं (संयोग से पिन और UNO पर 5 और 6) बिना किसी समस्या के PWM के साथ, और सही मान पढ़ें millis()
(साथ ही अपेक्षित विलंब प्राप्त करें delay
)
यदि आप समस्याओं में भाग लेते हैं, यदि आप प्रीस्कूलर को बदलना चाहते हैं (आमतौर पर पीडब्लूएम सिग्नल की आवृत्ति को संशोधित करने के लिए)। यदि आप इसे बदलते हैं, तो आप सीधे गणना और रिपोर्टिंग millis()
और की लंबाई को प्रभावित करते हैं delay(x)
।
millis ()
या delay ()
किसी भी तरह
millis()
बस टाइमर 0 अतिप्रवाह मायने रखता है का उपयोग करता है।micros()
में तत्काल मूल्य पढ़ता हैTCNT0
।