查看: 5709|回复: 13

[求助] 【转】(Kinetis K60)WDOG看门狗测试

[复制链接]
  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13266
    最后登录
    2019-1-27
    发表于 2015-5-15 14:47:08 | 显示全部楼层 |阅读模式
    今天群里小伙伴在讨论看门狗的问题, emptycup 分享了这篇转载的博文,转到论坛,给需要的小伙伴。小七刨根问底,发现原文地址已失效,原文作者是:Pallium

    以下是博文内容:

    看门狗是一种计数器。当计数的值溢出时会自动复位MCU。(需要在溢出前“喂狗”,避免复位)
    看门狗机制可以避免程序跑死(跑死时自动复位)
    改变看门狗寄存器参数前必须解锁看门狗。freescale kinetis看门狗解锁步骤是向看门狗的解锁寄存器连续写入0XC520和0xD928.两次写入不能超过20个时钟周期。
    5151.jpg

    注:程序需要烧至flash,否则复位后程序丢失。
    5152.png

    初始化看门狗
    void WDOG_Init(void)
    {
        WDOG_UNLOCK = 0xC520;      
        WDOG_UNLOCK = 0xD928;               //解锁看门狗寄存器(重新写入前必须解锁)两次写入不能超过20个时钟周期

        WDOG_PRESC = 0x0700;  //(7+1)分频

        WDOG_TOVALH = 0x0110;    //看门狗超时时间设置为3s
        WDOG_TOVALL = 0x5E90;
    }
    5153.jpg

    5154.jpg 5155.jpg 5156.jpg



    喂狗
    void WDOG_Feed(void)
    {
        WDOG_REFRESH = 0xA602;
        WDOG_REFRESH = 0xB480;   //喂狗
    }
    5157.png

    5158.jpg

    关闭和开启看门狗
    void WDOG_Close(void)
    {
        WDOG_UNLOCK = 0xC520u;
        WDOG_UNLOCK = 0xD928u;
        WDOG_STCTRLH &= ~0x0001; //关闭看门狗 WDOTEN 0
    }
    void WDOG_Open(void)
    {
        WDOG_UNLOCK = 0xC520;
        WDOG_UNLOCK = 0xD928;
        WDOG_STCTRLH |= 0x0001;  //打开看门狗 WDOTEN 1
    }
    5159.png

    ======================= 华丽的代码分割线===============================
    所有代码
    #include "LED.h"

    void WDOG_Init(void);
    void WDOG_Feed(void);
    void WDOG_Close(void);
    void WDOG_Open(void);

    void main(void)
    {
        DisableInterrupts;
        WDOG_Init();      //初始化看门狗  
        init_LED();      
        EnableInterrupts;

        WDOG_Open();     //开启看门狗            

        Delay(1500);
        while(1)
        {
            LED1(0);
            LED2(0);
            LED3(0);
            LED4(0);
            //WDOG_Feed();     //喂狗
        }

    }

    void WDOG_Init(void)
    {
        WDOG_UNLOCK = 0xC520;      
        WDOG_UNLOCK = 0xD928;               //解锁看门狗寄存器(重新写入前必须解锁)两次写入不能超过20个时钟周期

        WDOG_PRESC = 0x0700;  //(7+1)分频

        WDOG_TOVALH = 0x0110;    //看门狗超时时间设置为3s
        WDOG_TOVALL = 0x5E90;

    }

    void WDOG_Feed(void)
    {
        WDOG_REFRESH = 0xA602;
        WDOG_REFRESH = 0xB480;   //喂狗
    }
    void WDOG_Close(void)
    {
        WDOG_UNLOCK = 0xC520u;
        WDOG_UNLOCK = 0xD928u;
        WDOG_STCTRLH &= ~0x0001; //关闭看门狗 WDOTEN 0
    }
    void WDOG_Open(void)
    {
        WDOG_UNLOCK = 0xC520;
        WDOG_UNLOCK = 0xD928;
        WDOG_STCTRLH |= 0x0001;  //打开看门狗 WDOTEN 1
    }


    ==========================华丽的实验现象===============================
    注释掉“喂狗后”LED 1.5秒闪烁(初始化LED为低电平)3秒看门狗复位
    喂狗,LED亮1.5后熄灭

    51510.jpg


    整理成了PDF供下载: (Kinetis K60)WDOG看门狗测试.pdf (519.79 KB, 下载次数: 40)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5788
    最后登录
    2025-5-7
    发表于 2015-5-15 14:56:01 | 显示全部楼层
    项目里必须养条狗
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    83

    帖子

    0

    注册会员

    Rank: 2

    积分
    179
    最后登录
    1970-1-1
    发表于 2015-5-15 15:05:53 | 显示全部楼层
    这个不错,赞,七姐辛苦了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-1-20 15:21
  • 签到天数: 32 天

    连续签到: 1 天

    [LV.5]常住居民I

    7

    主题

    414

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1686
    最后登录
    2017-3-15
    发表于 2015-5-15 15:26:39 | 显示全部楼层
    学习一下。
    回复

    使用道具 举报

    该用户从未签到

    14

    主题

    777

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1234
    最后登录
    2015-9-13
    发表于 2015-5-15 16:01:35 | 显示全部楼层
    七姐辛苦~~~赞一个,支持一下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-11-29 19:14
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    20

    主题

    405

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1529
    最后登录
    1970-1-1
    发表于 2015-5-16 13:01:47 | 显示全部楼层
    七姐辛苦~~~赞一个,支持一下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6030
    最后登录
    2025-8-21
    发表于 2015-5-22 16:33:13 | 显示全部楼层
    非常感谢你关于Kinetis的经验分享 !
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-9-17 17:18
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    26

    主题

    394

    帖子

    0

    高级会员

    Rank: 4

    积分
    970
    最后登录
    2019-10-9
    发表于 2015-5-23 10:42:20 | 显示全部楼层
    手里是由板子的,看门狗没有用,不知道后续会不户对程序有影响啊。菜鸟很苦恼啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-9-13 10:15
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]常住居民I

    13

    主题

    500

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1183
    最后登录
    2024-12-10
    发表于 2015-5-23 11:35:11 | 显示全部楼层
    谢谢分享,回头试试K64效果。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2015-5-23 18:23:22 | 显示全部楼层
    学习一下
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-6 08:25 , Processed in 0.112478 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表