mirror of https://github.com/ARMmbed/mbed-os.git
Fix pwmout power-down condition
parent
aefa147747
commit
a19fa06bc7
|
@ -99,9 +99,11 @@ void pwmout_init(pwmout_t* obj, PinName pin)
|
||||||
|
|
||||||
((struct nu_pwm_var *) modinit->var)->en_msk |= 1 << chn;
|
((struct nu_pwm_var *) modinit->var)->en_msk |= 1 << chn;
|
||||||
|
|
||||||
// Mark this module to be inited.
|
if (((struct nu_pwm_var *) modinit->var)->en_msk) {
|
||||||
int i = modinit - pwm_modinit_tab;
|
// Mark this module to be inited.
|
||||||
pwm_modinit_mask |= 1 << i;
|
int i = modinit - pwm_modinit_tab;
|
||||||
|
pwm_modinit_mask |= 1 << i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pwmout_free(pwmout_t* obj)
|
void pwmout_free(pwmout_t* obj)
|
||||||
|
@ -120,9 +122,11 @@ void pwmout_free(pwmout_t* obj)
|
||||||
CLK_DisableModuleClock(modinit->clkidx);
|
CLK_DisableModuleClock(modinit->clkidx);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mark this module to be deinited.
|
if (((struct nu_pwm_var *) modinit->var)->en_msk == 0) {
|
||||||
int i = modinit - pwm_modinit_tab;
|
// Mark this module to be deinited.
|
||||||
pwm_modinit_mask &= ~(1 << i);
|
int i = modinit - pwm_modinit_tab;
|
||||||
|
pwm_modinit_mask &= ~(1 << i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pwmout_write(pwmout_t* obj, float value)
|
void pwmout_write(pwmout_t* obj, float value)
|
||||||
|
|
|
@ -105,9 +105,11 @@ void pwmout_init(pwmout_t* obj, PinName pin)
|
||||||
|
|
||||||
((struct nu_pwm_var *) modinit->var)->en_msk |= 1 << chn;
|
((struct nu_pwm_var *) modinit->var)->en_msk |= 1 << chn;
|
||||||
|
|
||||||
// Mark this module to be inited.
|
if (((struct nu_pwm_var *) modinit->var)->en_msk) {
|
||||||
int i = modinit - pwm_modinit_tab;
|
// Mark this module to be inited.
|
||||||
pwm_modinit_mask |= 1 << i;
|
int i = modinit - pwm_modinit_tab;
|
||||||
|
pwm_modinit_mask |= 1 << i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pwmout_free(pwmout_t* obj)
|
void pwmout_free(pwmout_t* obj)
|
||||||
|
@ -143,9 +145,11 @@ void pwmout_free(pwmout_t* obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mark this module to be deinited.
|
if (((struct nu_pwm_var *) modinit->var)->en_msk == 0) {
|
||||||
int i = modinit - pwm_modinit_tab;
|
// Mark this module to be deinited.
|
||||||
pwm_modinit_mask &= ~(1 << i);
|
int i = modinit - pwm_modinit_tab;
|
||||||
|
pwm_modinit_mask &= ~(1 << i);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pwmout_write(pwmout_t* obj, float value)
|
void pwmout_write(pwmout_t* obj, float value)
|
||||||
|
|
Loading…
Reference in New Issue