저는 xTimerChangePeriod를 사용하여 ARM Cortex-M3에서 freeRTOS를 실행하는 LED 애니메이션을 수행했습니다. 나는 PWM에 접근 할 수 없다. 그래서 나는 타이머 작업으로 그것을하고있다.ms 해상도 내에서 xTimerChangePeriod를 보장하는 방법은 무엇입니까?
애니메이션은 본질적으로 다양한 간격으로 LED 강도를 설정하는 타이머 콜백입니다. 각 콜백 사이에서 xTimerChangePeriod를 사용하여 지연을 변경하여 LED에 페이드 인 및 페이드 아웃 효과를 부여합니다. 그러나 종종 32ms에서 지연을 지정할 때 타이머가 행복하게 나에게 지연 만 +/- 10ms를 제공하지만 때로는 ~ 375ms의 지연을 가져옵니다 (이 값을 측정하기 위해 밀리 초 카운터를 사용함).
어쩌면 타이머 작업이 다른 상위 작업에 의해 차단되고 있습니까? 그 시간 동안 차단되지 않도록 타이머 지연을 보장 할 수있는 방법이 있습니까?
... 다른 타이머 핸들러 함수 내에서 (차단 작업 등) "잘못"뭔가를 할 것을 수도 있습니다. 다른 타이머 핸들러 내에서 작업을 차단하는 것이 가능할 수도 있으므로 조사를 더 진행해야 할 것입니다. – tll