打印
[牛人杂谈]

在N76E003上使用看门狗的配置顺序

[复制链接]
654|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
稳稳の幸福|  楼主 | 2024-1-29 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看门狗是一种用于监视系统运行的计时器,如果系统在规定的时间内未能喂狗(重置看门狗计时器),则会触发复位,从而确保系统稳定性。
下面是在N76E003上使用看门狗的一般步骤:
1.包含头文件:
在你的代码中包含N76E003的头文件,以便能够使用相关的寄存器和定义。
#include "N76E003.h"
2.配置看门狗:
配置看门狗的相关寄存器,包括计时器的时钟源、计数器的预分频因子和计时器的模式。
void ConfigureWatchdog() {
    // 配置看门狗时钟源和分频因子
    set_WDCON(WDCLR | WDTF | PRESCALE_DIV_1024);
    // 开启看门狗
    set_WDCON(WDCON|0x01);
}
在上面的例子中,WDCLR表示清除看门狗计时器的标志,WDTF表示看门狗计时器的溢出标志,PRESCALE_DIV_1024表示使用时钟源并将计时器预分频为1024。
3.喂狗:
在程序的关键部分,确保通过写入相应的值来清除看门狗计时器,以防止系统复位。
void FeedWatchdog() {
    set_WDCON(WDCLR);
}
4.主循环中喂狗:
在主循环或其他适当的位置,定期调用FeedWatchdog函数,以防止看门狗计时器溢出。
int main() {
    // 初始化
    ConfigureWatchdog();

    while (1) {
        // 主程序逻辑

        // 喂狗
        FeedWatchdog();
    }
}
这就是在N76E003上使用看门狗的基本步骤。请注意,确保看门狗的配置和喂狗的频率适合你的应用程序,以防止误触发复位。根据具体的需求,你可能需要调整看门狗的时钟源、预分频因子和喂狗的频率。

使用特权

评论回复
沙发
稳稳の幸福|  楼主 | 2024-1-29 20:42 | 只看该作者
话说你用过单片机的看门狗吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

164

主题

3136

帖子

8

粉丝