Antworten:
Sie stehen nicht in Konflikt, da millis()der unmittelbare Wert strikt eingelesen wird, TCNT0während PWM über Timer 0 die Fähigkeit der Hardware nutzt, den Wert von TCNT0mit den Werten in zu vergleichen, OCR0xohne den Wert eines von ihnen zu beeinflussen.
Nur um die Antwort von @ Ignacio zu ergänzen, die Ihre Frage direkt beantwortet hat. Der "Konflikt", von dem Sie sprechen Timer0, bezieht sich auf den Vorteiler.
Zum größten Teil können Sie diese Pins (im Übrigen die Pins 5 und 6 der UNO) problemlos mit PWM verwenden und den korrekten Wert von lesen millis()(sowie die erwartete Verzögerung von erhalten delay).
Probleme treten auf, wenn Sie den Vorteiler ändern möchten (normalerweise, um die Frequenz des PWM-Signals zu ändern). Wenn Sie dies ändern, wirken Sie sich direkt auf die Berechnung und Berichterstellung millis()sowie auf die Länge von aus delay(x).
millis ()oder delay ()sowieso schreiben könnten
millis()Verwendet nur Timer 0 Überlaufzählungen.micros()liest den unmittelbaren Wert inTCNT0.