weixin_42468870 2024-01-25 10:36 采纳率: 50%
浏览 8
已结题

gd32l23独立看门狗计算值与实际值不同

各位好 我用gd32l23mcu,这个看门狗我算出来超时时间是300ms,可是我实际测4s复位一次。计算值和实际结果不一样。

img

img

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-01-25 10:37
    关注

    引自免费微信小程序:皆我百晓生

    1. 确认代码实现是否正确

    根据您提供的代码,有几个地方需要注意。首先,在 fwdg init() 函数中,大括号 {} 后多了一个“日”字。这对代码的编译和逻辑可能会产生影响,因此请确保代码中没有任何语法错误。

    其次,您在 fwdgt_config 函数中的第一个参数为 2500,这可能导致了超时时间计算错误。根据图2的内容,X2500 应该表示超时时间为 312.5ms,而不是 2500ms。确保该参数正确设置,并重新编译运行代码。

    最后,请确保您正确初始化了相关的时钟和计数器等硬件设置。如果这些设置不正确,可能会导致看门狗计算值与实际值不同。

    2. 确认看门狗时钟源和分频器配置

    在您的代码中,您使用的是 RC32K 作为看门狗的时钟源,并将分频系数设置为除以 4(FWDGT_PSC_DIV4)。请确保这些配置与您的需求相符。

    如果您的系统时钟和看门狗时钟源之间存在差异,就会导致计算值和实际结果不同。因此,请检查系统时钟配置和时钟源选择是否正确,并尝试更改分频器配置进行实验。

    3. 考虑看门狗定时器精度和溢出

    gd32l23 独立看门狗的定时器精度可能会影响看门狗的实际超时时间。请确保您对定时器溢出情况做了正确的处理,以免影响计算和实际超时时间的匹配性。

    如果经过上述操作仍然无法解决问题,建议您查阅相关的官方文档、datasheet 或参考手册,以获取更多关于 gd32l23 独立看门狗的详细信息。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月25日
  • 创建了问题 1月25日