mbed library sources
Dependents: frdm_kl05z_gpio_test
Fork of mbed-src by
Diff: targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/pwmout_api.c
- Revision:
- 226:b062af740e40
- Parent:
- 185:e752b4ee7de1
- Child:
- 250:a49055e7a707
--- a/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/pwmout_api.c Wed Jun 11 09:30:07 2014 +0100 +++ b/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/pwmout_api.c Wed Jun 11 09:45:09 2014 +0100 @@ -44,7 +44,7 @@ {PA_2, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2)}, // TIM2_CH3 // {PA_2, PWM_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5)}, // TIM5_CH3 // {PA_2, PWM_9, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9)}, // TIM9_CH1 - {PA_3, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2)}, // TIM2_CH3 + {PA_3, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2)}, // TIM2_CH4 // {PA_3, PWM_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5)}, // TIM5_CH4 // {PA_3, PWM_9, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9)}, // TIM9_CH2 {PA_5, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2)}, // TIM2_CH1 @@ -142,30 +142,28 @@ sConfig.OCNIdleState = TIM_OCNIDLESTATE_RESET; switch (obj->pin) { + // Channels 1 case PA_0: -// case PA_2: case PA_5: case PA_6: case PA_8: case PA_15: case PB_4: case PB_6: -// case PB_8: -// case PB_9: case PC_6: channel = TIM_CHANNEL_1; break; + // Channels 1N case PA_7: case PB_13: channel = TIM_CHANNEL_1; complementary_channel = 1; break; + // Channels 2 case PA_1: -// case PA_3: -// case PA_7: case PA_9: case PB_3: case PB_5: @@ -173,36 +171,38 @@ case PC_7: channel = TIM_CHANNEL_2; break; + // Channels 2N case PB_0: case PB_14: channel = TIM_CHANNEL_2; complementary_channel = 1; break; + // Channels 3 case PA_2: - case PA_3: case PA_10: -// case PB_0: case PB_8: case PB_10: case PC_8: channel = TIM_CHANNEL_3; break; + // Channels 3N case PB_1: case PB_15: channel = TIM_CHANNEL_3; complementary_channel = 1; break; + // Channels 4 -// case PA_3: + case PA_3: case PA_11: -// case PB_1: case PB_9: case PC_9: channel = TIM_CHANNEL_4; break; + default: return; } @@ -238,6 +238,9 @@ __HAL_TIM_DISABLE(&TimHandle); + // Update the SystemCoreClock variable + SystemCoreClockUpdate(); + TimHandle.Init.Period = us - 1; TimHandle.Init.Prescaler = (uint16_t)(SystemCoreClock / 1000000) - 1; // 1 µs tick TimHandle.Init.ClockDivision = 0;