Fixed and re-enabled PWMs

pull/1412/head
Rafal 2015-10-29 13:00:12 +01:00
parent 8ef60cdca2
commit e856a30c95
2 changed files with 31 additions and 1 deletions

View File

@ -49,7 +49,7 @@
#define DEVICE_RTC 1
#define DEVICE_PWMOUT 0
#define DEVICE_PWMOUT 1
#define DEVICE_SLEEP 1

View File

@ -51,16 +51,30 @@ void pwmout_init(pwmout_t* obj, PinName pin)
obj->inverted = STM_PIN_INVERTED(function);
// Enable TIM clock
#if defined(TIM1_BASE)
if (obj->pwm == PWM_1) __HAL_RCC_TIM1_CLK_ENABLE();
#endif
#if defined(TIM2_BASE)
if (obj->pwm == PWM_2) __HAL_RCC_TIM2_CLK_ENABLE();
#endif
#if defined(TIM3_BASE)
if (obj->pwm == PWM_3) __HAL_RCC_TIM3_CLK_ENABLE();
#endif
#if defined(TIM4_BASE)
if (obj->pwm == PWM_4) __HAL_RCC_TIM4_CLK_ENABLE();
#endif
#if defined(TIM8_BASE)
if (obj->pwm == PWM_8) __HAL_RCC_TIM8_CLK_ENABLE();
#endif
#if defined(TIM9_BASE)
if (obj->pwm == PWM_9) __HAL_RCC_TIM9_CLK_ENABLE();
#endif
#if defined(TIM10_BASE)
if (obj->pwm == PWM_10) __HAL_RCC_TIM10_CLK_ENABLE();
#endif
#if defined(TIM11_BASE)
if (obj->pwm == PWM_11) __HAL_RCC_TIM11_CLK_ENABLE();
#endif
#if defined(TIM12_BASE)
if (obj->pwm == PWM_12) __HAL_RCC_TIM12_CLK_ENABLE();
#endif
@ -176,10 +190,18 @@ void pwmout_period_us(pwmout_t* obj, int us)
switch (obj->pwm) {
// APB1 clock
#if defined(TIM2_BASE)
case PWM_2:
#endif
#if defined(TIM3_BASE)
case PWM_3:
#endif
#if defined(TIM4_BASE)
case PWM_4:
#endif
#if defined(TIM5_BASE)
case PWM_5:
#endif
#if defined(TIM12_BASE)
case PWM_12:
#endif
@ -194,13 +216,21 @@ void pwmout_period_us(pwmout_t* obj, int us)
break;
// APB2 clock
#if defined(TIM1_BASE)
case PWM_1:
#endif
#if defined(TIM8_BASE)
case PWM_8:
#endif
#if defined(TIM9_BASE)
case PWM_9:
#endif
#if defined(TIM10_BASE)
case PWM_10:
#endif
#if defined(TIM11_BASE)
case PWM_11:
#endif
PclkFreq = HAL_RCC_GetPCLK2Freq();
APBxCLKDivider = RCC_ClkInitStruct.APB2CLKDivider;
break;