mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

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;