HELLO,
I am trying to generate a 125kHz pwm siginal using nrf51802(sdk version12.3). I use the oscilloscope to observe the wave form.I change the macro value of PERIOD_IN_US for different number, but the frequency did not change.The period of waveform is fixed 0.4ms,unless the frequency setting is less than 250 Hz .If I set frequency graeter than 250Hz, there is only one siginal in 0.4ms,but the width of the siginal is correct.
Thanks.
#define PERIOD_IN_US 8
#define ID_125K 17
APP_PWM_INSTANCE(m_pwm0,0);
static volatile bool ready_flag; // A flag indicating PWM status.
static void pwm_callback(uint32_t pwm_id){
ready_flag = true;
}
void pwm_init(){
ret_code_t ret;
nrf_gpio_cfg_output(ID_125K);
nrf_gpio_pin_clear(ID_125K);
app_pwm_config_t pwm_config = APP_PWM_DEFAULT_CONFIG_1CH(PERIOD_IN_US,ID_125K);
pwm_config.pin_polarity[0] = APP_PWM_POLARITY_ACTIVE_HIGH;
ret = app_pwm_init(&m_pwm0,&pwm_config,pwm_callback);
if(ret){
SEGGER_RTT_printf(0,"app_pwm_init fail!\r\n");
}
app_pwm_enable(&m_pwm0);
app_pwm_channel_duty_set(&m_pwm0, 0, 50);
}