Mike_zz 发表于 2024-7-10 09:20:53

24M主频的STC8HK08看门狗设置256分频,一秒甚至500毫秒都会复位,用的40ms才行

理论上溢出时间是4秒左右,我不管是1s还是500ms喂一次都不会触发喂狗才对

_奶咖君_ 发表于 2024-7-10 09:34:08

本帖最后由 _奶咖君_ 于 2024-7-10 09:35 编辑

感觉可能是用法有问题,,,,,,下载的时候是否勾选了硬件开启看门狗?

Mike_zz 发表于 2024-7-10 09:37:01

_奶咖君_ 发表于 2024-7-10 09:34
感觉可能是用法有问题,,,
看门狗的用的不是主频,是一个内部的时钟,,
还有一件事,,下载的时候是否勾 ...

看门狗好像用的就是主频吧,我记得之前有看过相关的解释,下载的时候没有勾选硬件开启

_奶咖君_ 发表于 2024-7-10 09:42:01

Mike_zz 发表于 2024-7-10 09:37
看门狗好像用的就是主频吧,我记得之前有看过相关的解释,下载的时候没有勾选硬件开启 ...

记错了,,,看了一眼手册 。想起来了

_奶咖君_ 发表于 2024-7-10 09:42:52

Mike_zz 发表于 2024-7-10 09:37
看门狗好像用的就是主频吧,我记得之前有看过相关的解释,下载的时候没有勾选硬件开启 ...
感觉是分频系数有问题,,在检查你的代码吧

Mike_zz 发表于 2024-7-10 10:01:40

_奶咖君_ 发表于 2024-7-10 09:42
感觉是分频系数有问题,,在检查你的代码吧

WDT_InitTypeDef WDT_InitStructure;

    // Configure the WDT to be enabled or disabled
    WDT_InitStructure.WDT_Enable    = ENABLE;         // Interrupt enable   ENABLE or DISABLE
    // Configure the WDT to stop counting during CPU idle
    WDT_InitStructure.WDT_IDLE_Mode = WDT_IDLE_STOP;    // IDLE mode Indicates whether to stop counting                        WDT_IDLE_STOP,WDT_IDLE_RUN
    // Set the clock division factor of the WDT, determining the timeout period
    WDT_InitStructure.WDT_PS      = WDT_SCALE_256;            // Watchdog timer clock frequency division factor                WDT_SCALE_2,WDT_SCALE_4,WDT_SCALE_8,WDT_SCALE_16,WDT_SCALE_32,WDT_SCALE_64,WDT_SCALE_128,WDT_SCALE_256
    // Initialize the WDT with the configured parameters
    WDT_Inilize(&WDT_InitStructure);                  // initialize
用的库函数开发,就一个分频系数改了,外界一个任务在定时跑喂狗

_奶咖君_ 发表于 2024-7-10 10:29:44

本帖最后由 _奶咖君_ 于 2024-7-10 10:31 编辑

Mike_zz 发表于 2024-7-10 10:01
WDT_InitTypeDef WDT_InitStructure;

    // Configure the WDT to be enabled or disabled

喂狗呢?感觉应该不会 ,库函数啊,喂狗的时候吧分频值改了?

喂狗的源代码看过么?

Mike_zz 发表于 2024-7-10 10:38:21

_奶咖君_ 发表于 2024-7-10 10:29
喂狗呢?感觉应该不会 ,库函数啊,喂狗的时候吧分频值改了?

喂狗的源代码看过么?


这个提醒到我了 我看了一下喂狗的底层,有关于分频的定义,前面没注意这块默认是16分频,现在改了,应该是这个问题导致的,我验证一下
void WDT_Feed (void)
{
        WDT_CONTR = (D_EN_WDT + D_CLR_WDT + D_WDT_SCALE_256);    // feed the dog
}

_奶咖君_ 发表于 2024-7-10 10:40:59

这库函数代码写的真不咋地,,{:4_178:} 慎用吧
页: [1]
查看完整版本: 24M主频的STC8HK08看门狗设置256分频,一秒甚至500毫秒都会复位,用的40ms才行