搜索
bottom↓
回复: 13

KE02看门狗复位问题

[复制链接]

出0入0汤圆

发表于 2015-4-1 16:48:07 | 显示全部楼层 |阅读模式
现在我要给我的程序加一个看门狗功能,但是在测试看门狗的过程中,看门狗不能正常复位。
测试时,软件用的就是官方的看门狗例程;硬件用的是FRDM-KE02Z开发板。
有没有哪位朋友遇到过相关问题,花点时间帮兄弟看一下,谢谢了

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出50入58汤圆

发表于 2015-4-1 16:54:04 | 显示全部楼层
路过帮顶,楼主最好把代码贴出来,大神们才能帮忙

出0入0汤圆

 楼主| 发表于 2015-4-1 16:58:23 | 显示全部楼层
鲜衣怒马 发表于 2015-4-1 16:54
路过帮顶,楼主最好把代码贴出来,大神们才能帮忙

以下是主函数的代码,代码基本是官方的看门狗例程,仅是屏蔽了看门狗的喂狗指令。上电后,蓝色的LED开始闪烁,可见程序并未复位。

int main (void)
{
    WDOG_ConfigType sWDOGConfig = {0};    /*! < watchdog configuration structure */

    /* Perform processor initialization */
    sysinit();

    sWDOGConfig.sBits.bWaitEnable   = TRUE;
    sWDOGConfig.sBits.bStopEnable   = TRUE;
    sWDOGConfig.sBits.bDbgEnable    = TRUE;
    sWDOGConfig.sBits.bUpdateEnable = FALSE;
    sWDOGConfig.sBits.bDisable      = FALSE;        /* enable WDOG */
    sWDOGConfig.sBits.bClkSrc       = WDOG_CLK_INTERNAL_1KHZ;
    sWDOGConfig.u16TimeOut          = 1000;  /*< 1s */
    sWDOGConfig.u16WinTime          = 0;  

    WDOG_Init(&sWDOGConfig);

    printf("\nRunning the wdog_feed_demo project.\n");

    if(WDOG_IsReset())                      /*!< check if wathdog reset happens */
    {
        /*! watchdog happens. */
        LED0_Init();                        /*!< initialize red light */
        while(1)
        {
            LED0_Toggle();                  /*!< flash red light if watchdog reset occurs */
            WDOG_Feed();            
            DelayUS(50000);                 /*!< delay around 50ms */
        }
    }
    /*! watchdog does not happens, then flash blue led. */
    LED2_Init();                            /*!< initialize blue light */
    while(1)
    {
        LED2_Toggle();                      /*!< flash blue light if no watchdog reset occurs */
        //WDOG_Feed();
        DelayUS(50000);                     /*!< delay around 50ms */
    }

}

出0入0汤圆

发表于 2015-4-1 17:55:32 来自手机 | 显示全部楼层
如果不断重启的话,能从灯上判断出来不?

出0入0汤圆

 楼主| 发表于 2015-4-1 17:58:35 | 显示全部楼层
postek 发表于 2015-4-1 17:55
如果不断重启的话,能从灯上判断出来不?

可以,如果重启,红色的灯会闪烁(重启之前蓝色的灯闪烁)。

出0入0汤圆

发表于 2015-4-2 14:39:36 | 显示全部楼层
你start函数中,有没有关闭看门狗?

出0入0汤圆

发表于 2015-4-2 14:40:13 | 显示全部楼层
另外,下次发问题,直接在飞思卡尔论坛区发就行了,不需要发到子区域。

出0入0汤圆

 楼主| 发表于 2015-4-2 14:53:14 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-4-2 14:39
你start函数中,有没有关闭看门狗?

您指的是哪个start函数?

出0入0汤圆

 楼主| 发表于 2015-4-2 14:53:31 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-4-2 14:40
另外,下次发问题,直接在飞思卡尔论坛区发就行了,不需要发到子区域。

ok,好的

出0入0汤圆

发表于 2015-4-3 15:16:21 | 显示全部楼层
土豆-Nanne 发表于 2015-4-2 14:53
您指的是哪个start函数?

看看你工程中调用start.c没有,程序在进入main之前,会有一个启动代码,也就是start.c,通常会在这里把看门狗关掉。
因为默认看门狗是使能的。
所以你检查下是不是程序中在之前就把看门狗给关掉了。

出0入0汤圆

 楼主| 发表于 2015-4-8 09:43:58 | 显示全部楼层
问题已解决,请参考:http://www.amobbs.com/thread-5619054-1-1.html,非常感谢飞思卡尔的工程师FSL_TICS_ZJJ的帮助!

出0入0汤圆

 楼主| 发表于 2015-4-8 10:00:06 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-4-3 15:16
看看你工程中调用start.c没有,程序在进入main之前,会有一个启动代码,也就是start.c,通常会在这里把看 ...

请问如何结贴?

出0入0汤圆

发表于 2015-4-8 11:45:58 | 显示全部楼层

非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决.

出0入0汤圆

 楼主| 发表于 2015-4-8 14:54:06 | 显示全部楼层
本帖最后由 土豆-Nanne 于 2015-4-8 14:55 编辑
FSL_TICS_ZJJ 发表于 2015-4-8 11:45
非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决. ...


好的,谢谢,此帖已结
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 13:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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