Prechádzať zdrojové kódy

修复pwm初始化时,相应的时钟没有使能的问题

z14git 5 rokov pred
rodič
commit
d3f8b9b9c1
1 zmenil súbory, kde vykonal 7 pridanie a 7 odobranie
  1. 7 7
      bsp/stm32/libraries/HAL_Drivers/drv_pwm.c

+ 7 - 7
bsp/stm32/libraries/HAL_Drivers/drv_pwm.c

@@ -323,13 +323,6 @@ static rt_err_t stm32_hw_pwm_init(struct stm32_pwm *device)
     tim->Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
 #endif
 
-    if (HAL_TIM_PWM_Init(tim) != HAL_OK)
-    {
-        LOG_E("%s pwm init failed", device->name);
-        result = -RT_ERROR;
-        goto __exit;
-    }
-
     if (HAL_TIM_Base_Init(tim) != HAL_OK)
     {
         LOG_E("%s time base init failed", device->name);
@@ -345,6 +338,13 @@ static rt_err_t stm32_hw_pwm_init(struct stm32_pwm *device)
         goto __exit;
     }
 
+    if (HAL_TIM_PWM_Init(tim) != HAL_OK)
+    {
+        LOG_E("%s pwm init failed", device->name);
+        result = -RT_ERROR;
+        goto __exit;
+    }
+
     master_config.MasterOutputTrigger = TIM_TRGO_RESET;
     master_config.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
     if (HAL_TIMEx_MasterConfigSynchronization(tim, &master_config) != HAL_OK)