fix prescaler settings

pull/279/head
Yihui Xiong 2014-04-29 07:30:50 +08:00
parent af534d61c0
commit f11cb671e5
1 changed files with 2 additions and 2 deletions

View File

@ -144,8 +144,8 @@ void pwmout_period_us(pwmout_t* obj, int us) {
uint32_t old_period_ticks = timer->MR3; uint32_t old_period_ticks = timer->MR3;
// for 16bit timer, set prescaler to avoid overflow // for 16bit timer, set prescaler to avoid overflow
if (timer == LPC_CT16B0 || timer == LPC_CT16B1) {
uint16_t high_period_ticks = period_ticks >> 16; uint16_t high_period_ticks = period_ticks >> 16;
if ((high_period_ticks) && (timer == LPC_CT16B0 || timer == LPC_CT16B1)) {
timer->PR = high_period_ticks; timer->PR = high_period_ticks;
period_ticks /= (high_period_ticks + 1); period_ticks /= (high_period_ticks + 1);
} }