查看: 3252|回复: 6

[分享] KL14看门狗

[复制链接]

该用户从未签到

6

主题

32

帖子

0

新手上路

Rank: 1

积分
8
最后登录
1970-1-1
发表于 2013-10-30 10:23:24 | 显示全部楼层 |阅读模式
我在代码里加入:
  SIM_SRVCOP = 0x55; // reset the COP timeout counter
  SIM_SRVCOP = 0xAA;
  SIM_COPC = 0x0C;  //Set COP timeout , Internal 1 kHz clock is source to COP ,COP Normal mode
但是mcu没有被复位。
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2013-10-30 11:17:08 | 显示全部楼层

RE:KL14看门狗

建议你可以先参考看门狗操作的设置步骤。(参考手册的Chapter 3 Chip Configureation )
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

20

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
发表于 2013-11-1 09:53:16 | 显示全部楼层

回复:KL14看门狗

11 COP timeout after 210 LPO cycles or 218 bus clock cycles
256秒?
另外调试状态下不支持看门狗复位。
再另外
COP Control Register (SIM_COPC)
All of the bits in this register can be written only once after a reset.
搜一下工程中是不是已经有配置过copc.
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

20

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
发表于 2013-11-1 09:54:22 | 显示全部楼层

回复:KL14看门狗

我也遇到类似的问题,发现在这里
void start(void)
{            
                /* Disable the watchdog timer */
//    SIM_COPC = 0x00;
   
#ifndef CMSIS    // If conforming to CMSIS, we do not need to perform this code
        /* Copy any vector or data sections that need to be in RAM */
        common_startup();
#endif
        sysinit();
#ifndef CMSIS    // If conforming to CMSIS, we do not need to perform this code
        main();
        while(1);
#endif
}
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

20

帖子

0

注册会员

Rank: 2

积分
77
最后登录
1970-1-1
发表于 2013-11-1 09:55:53 | 显示全部楼层

回复:KL14看门狗

被我果断屏掉。
void WdogInit(void)
{
        SIM_SRVCOP = SIM_SRVCOP_SRVCOP(0x55);                               // 系统默认为1KHz 2^10时钟周期
        SIM_SRVCOP = SIM_SRVCOP_SRVCOP(0xAA);                               // 进行看门狗喂狗
        SIM_COPC  = SIM_COPC_COPT(3);                                       // 重新写入一次看门狗配置
}
再使用狗就很听话啦
#define ClrWdt()     SIM_SRVCOP = SIM_SRVCOP_SRVCOP(0x55);SIM_SRVCOP = SIM_SRVCOP_SRVCOP(0xAA);
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2013-11-1 10:12:23 | 显示全部楼层

RE:KL14看门狗

楼上正解,谢谢分享!!
回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

103

帖子

0

新手上路

Rank: 1

积分
173
最后登录
1970-1-1
发表于 2014-1-7 17:04:27 | 显示全部楼层

回复:KL14看门狗

回复第 4 楼 于2013-11-01 09:54:22发表:
我也遇到类似的问题,发现在这里
void start(void)
{            
/* Disable the watchdog timer */
//    SIM_COPC = 0x00;

#ifndef CMSIS    // If conforming to CMSIS, we do not need to perform this code
/* Copy any vector or data sections that need to be in RAM */
common_startup();
#endif
sysinit();
#ifndef CMSIS    // If conforming to CMSIS, we do not need to perform this code
main();
while(1);
#endif
}
 
 
楼上正解,谢谢分享!!
 
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-18 18:27 , Processed in 0.095343 second(s), 25 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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