diff --git a/libraries/peripherals/STC8x/src/STC8x_WDT.c b/libraries/peripherals/STC8x/src/STC8x_WDT.c index 7650fe6b68fde9a810ed2820839758882815c08a..17fd80b479e5c23142122c0fe4da3327cfe4a04e 100644 --- a/libraries/peripherals/STC8x/src/STC8x_WDT.c +++ b/libraries/peripherals/STC8x/src/STC8x_WDT.c @@ -70,11 +70,11 @@ uint32_t Get_WDT_Time(void) { extern uint32_t Get_SysClk_FRE(void); - uint8_t i; uint32_t sysClk_FRE,dat = 2; sysClk_FRE = Get_SysClk_FRE(); - for(i=0; i<(WDT_CONTR & 0x03); i++) dat *= 2; - dat = (12 * 32768 * dat) / sysClk_FRE; + dat = 2 << (WDT_CONTR & 0x07); + sysClk_FRE = (12000UL << 15) / sysClk_FRE; + dat = dat * 1000 * sysClk_FRE; return dat; }