Переглянути джерело

[bsp][wch/arm][ch32] 1.fix iwdt driver is not reload counter to register;

Chasel 4 місяців тому
батько
коміт
4125582342

+ 2 - 2
bsp/wch/arm/Libraries/ch32_drivers/drv_iwdt_ch32f10x.c

@@ -73,7 +73,7 @@ static rt_err_t ch32_wdt_control(rt_watchdog_t *wdt, int cmd, void *arg)
             IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
             IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
             IWDG_SetPrescaler(wdt_dev->Prescaler);
             IWDG_SetPrescaler(wdt_dev->Prescaler);
             IWDG_SetReload(wdt_dev->Reload);
             IWDG_SetReload(wdt_dev->Reload);
-            IWDG_WriteAccessCmd(IWDG_WriteAccess_Disable);
+            IWDG_ReloadCounter();
             IWDG_Enable();
             IWDG_Enable();
         }
         }
         break;
         break;
@@ -97,7 +97,7 @@ static rt_err_t ch32_wdt_control(rt_watchdog_t *wdt, int cmd, void *arg)
         IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
         IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
         IWDG_SetPrescaler(wdt_dev->Prescaler);
         IWDG_SetPrescaler(wdt_dev->Prescaler);
         IWDG_SetReload(wdt_dev->Reload);
         IWDG_SetReload(wdt_dev->Reload);
-        IWDG_WriteAccessCmd(IWDG_WriteAccess_Disable);
+        IWDG_ReloadCounter();
         IWDG_Enable();
         IWDG_Enable();
         wdt_dev->is_start = 1;
         wdt_dev->is_start = 1;
 
 

+ 2 - 2
bsp/wch/arm/Libraries/ch32_drivers/drv_iwdt_ch32f20x.c

@@ -73,7 +73,7 @@ static rt_err_t ch32_wdt_control(rt_watchdog_t *wdt, int cmd, void *arg)
             IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
             IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
             IWDG_SetPrescaler(wdt_dev->Prescaler);
             IWDG_SetPrescaler(wdt_dev->Prescaler);
             IWDG_SetReload(wdt_dev->Reload);
             IWDG_SetReload(wdt_dev->Reload);
-            IWDG_WriteAccessCmd(IWDG_WriteAccess_Disable);
+            IWDG_ReloadCounter();
             IWDG_Enable();
             IWDG_Enable();
         }
         }
         break;
         break;
@@ -97,7 +97,7 @@ static rt_err_t ch32_wdt_control(rt_watchdog_t *wdt, int cmd, void *arg)
         IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
         IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
         IWDG_SetPrescaler(wdt_dev->Prescaler);
         IWDG_SetPrescaler(wdt_dev->Prescaler);
         IWDG_SetReload(wdt_dev->Reload);
         IWDG_SetReload(wdt_dev->Reload);
-        IWDG_WriteAccessCmd(IWDG_WriteAccess_Disable);
+        IWDG_ReloadCounter();
         IWDG_Enable();
         IWDG_Enable();
         wdt_dev->is_start = 1;
         wdt_dev->is_start = 1;