I've read that the
millis() function uses the same timer as a couple of PWM pins.
If you're using those PWM pins, will
millis() still return the correct value?
They do not conflict as
millis() strictly reads the immediate value in
TCNT0 whereas PWM via timer 0 uses the hardware's ability to compare the value of
TCNT0 with the values in
OCR0x without affecting the value of any of them.
Just to add to @Ignacio's answer which has directly answered your question. The "conflict" you speak of is in relation to
For the most part, you can use those pins (incidentally pins 5 and 6 on the UNO) with PWM without an issue, and read the correct value of
millis() (as well as get the expected delay from
Where you run into problems is if you want to change the prescaler (usually to modify the frequency of the PWM signal). If you change this, then you directly affect the calculation and reporting of
millis() and the length of