답변:
로 그들은 충돌하지 않는 millis()
엄격에서 즉시 값 읽어 TCNT0
타이머 0 사용을 통해의 값을 비교하는 하드웨어의 능력 PWM 반면을 TCNT0
의 값을 OCR0x
그 중 하나의 값에 영향을주지 않고 있습니다.
귀하의 질문에 직접 답변 한 @Ignacio의 답변에 추가하십시오. 당신이 말하는 "충돌"은 Timer0
프리스케일러 와 관련이 있습니다.
대부분의 경우, 당신은 문제없이 PWM 가진 사람 핀 (우노에 우연히 핀 5, 6)를 사용할 수 있습니다, 그리고 정확한 값을 읽을 수 millis()
(뿐만 아니라에서 예상되는 지연을 얻을 수로 delay
)
프리스케일러를 변경하려는 경우 (일반적으로 PWM 신호의 주파수를 수정하려는 경우) 문제가 발생합니다. 이를 변경하면의 계산 및보고 millis()
및 길이에 직접 영향을 미칩니다 delay(x)
.
millis ()
하거나 delay ()
어쨌든 작성할 수 있다는 것입니다.
millis()
타이머 0 오버 플로우 카운트 만 사용합니다.micros()
의 즉시 값을 읽습니다TCNT0
.