SDK 12.0.0을 사용하고 있습니다.저전력 PWM 라이브러리 : low_power_pwm_stop이 핸들러에서 호출되면 PWM이 멈 춥니 다. 이거 버그 야?
나는 PWW를 초기화하기 위해 low_power_pwm_init()
으로 일하고 있으며 초기화하는 동안 핸들러를 전달했다. 나는 핸들러에서 PWM을 멈추고 자하므로 핸들러에서 low_power_pwm_stop()
을 호출하려고합니다. 나는 PWM이 멈추지 않는 것을 관찰한다.
나는이 이유를 조사 하려다가 low_power_pwm.c에있는 pwm_timeout_handler()
이 pwm을 재시작하고 있음을 발견했다. 아래는 의심되는 발췌 문장입니다.
if (p_pwm_instance->pwm_state == NRF_DRV_STATE_INITIALIZED)
{
p_pwm_instance->pwm_state = NRF_DRV_STATE_POWERED_ON;
err_code = app_timer_start(*p_pwm_instance->p_timer_id, p_pwm_instance->timeout_ticks, p_pwm_instance);
APP_ERROR_CHECK(err_code);
}
low_power_pwm_stop()
에서 p_pwm_instance->pwm_state
은 NRF_DRV_STATE_INITIALIZED
할당되고, 운전자 상태 NRF_DRV_STATE_INITIALIZED
경우 위의 코드에서, 타이머는 다시 PWM ON되게 시작된다.
이것은 버그입니까?