Odpowiedzi:
Nie powodują konfliktu, ponieważ millis()ściśle odczytuje bezpośrednią wartość, podczas TCNT0gdy PWM przez zegar 0 wykorzystuje zdolność sprzętu do porównania wartości TCNT0z wartościami OCR0xbez wpływu na wartość którejkolwiek z nich.
Wystarczy dodać do odpowiedzi @ Ignacio, która bezpośrednio odpowiedziała na twoje pytanie. „Konflikt”, o którym mówisz, odnosi się do Timer0preskalera.
W większości przypadków możesz używać tych pinów (nawiasem mówiąc, pinów 5 i 6 w UNO) z PWM bez problemu i odczytać prawidłową wartość millis()(a także uzyskać oczekiwane opóźnienie od delay)
Występują problemy, jeśli chcesz zmienić preskaler (zwykle w celu modyfikacji częstotliwości sygnału PWM). Jeśli to zmienisz, bezpośrednio wpłyniesz na obliczenia, raportowanie millis()i długość delay(x).
millis ()lub w delay ()każdym razie
millis()po prostu używa liczników przepełnienia Timera 0.micros()wczytuje bezpośrednią wartość wTCNT0.