查看: 2974|回复: 4

[求助] K64看门狗问题

[复制链接]

该用户从未签到

48

主题

141

帖子

1

中级会员

Rank: 3Rank: 3

积分
385
最后登录
2020-8-7
发表于 2019-6-4 16:00:54 | 显示全部楼层 |阅读模式
本帖最后由 njhuangyuan 于 2019-6-4 16:06 编辑

K64的片子,CW10.6+MQX平台,应用程序里面共设置了两个中断:一个PIT0的的定时器中断,一个PE口的外部中断(0.833ms中断一次,在里面喂狗,狗的时间是3ms,实际是定时器启动AD,AD中断到PE口),这两个中断等级分别设置为3和4,运行10秒左右看门狗就会复位,时间长短不固定。如果把PE口的中断等级设置为2,运行完全正常。把定时器中断等级设置为1,PE口中断等级设置为2,所有的任务都跑不起来了,查了一下是_time_delay出不来,这个是啥原因?
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24897
最后登录
2025-7-21
发表于 2019-6-5 10:00:40 | 显示全部楼层
楼主你好,你这个问题说白了还是喂狗不及时,导致看门狗复位了。
你程序里面除了你提到的两个中断,是否还有其他中断?
回复 支持 反对

使用道具 举报

该用户从未签到

48

主题

141

帖子

1

中级会员

Rank: 3Rank: 3

积分
385
最后登录
2020-8-7
 楼主| 发表于 2019-6-5 12:42:53 | 显示全部楼层
我查过NVIC,优先级设置都对的。里面除了有MQX默认启动的PMA9个中断,就我这两个中断了。但是与这个PMA无关,PMA我没用,也把他关过中断了,一样的现象。我也把狗关了抓了几万过点测试0.833ms定时器,先定时器中断,然后启动外部AD,外部AD中断产生,时序都很正常的,我的AD服务程序只有0.1几个ms,完全没超时。看门狗定时我也设置过很大,2分钟以上,但还是10~20秒左右就复位了,感觉与这个看门狗时间无关。
回复 支持 反对

使用道具 举报

该用户从未签到

48

主题

141

帖子

1

中级会员

Rank: 3Rank: 3

积分
385
最后登录
2020-8-7
 楼主| 发表于 2019-6-5 12:46:17 | 显示全部楼层
本帖最后由 njhuangyuan 于 2019-6-5 12:52 编辑

看门狗有个复位计数器,可以确定是看门狗复位的。看门狗也是起作用的,我不喂狗,跑起来就复位了。另外我想把看门狗设置成进入中断服务程序,不想让他直接复位(复位后所有寄存器回复到默认了),但一直不成功,设置看门狗进入自己的中断服务程序有没有什么特别要注意的?还是看门狗根本就进不了自己的服务程序?
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24897
最后登录
2025-7-21
发表于 2019-6-5 17:16:13 | 显示全部楼层
njhuangyuan 发表于 2019-6-5 12:42
我查过NVIC,优先级设置都对的。里面除了有MQX默认启动的PMA9个中断,就我这两个中断了。但是与这个PMA无关 ...

楼主你好!你已经确定你的复位一定是看门狗引起的对吧?
那么你的看门狗喂狗程序是不是有问题?
你搞个简单的代码,不进中断,直接while里面喂狗,看看是否复位?
进入看门狗自己的中断程序,就怕还没执行什么,就已经复位了。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-22 07:35 , Processed in 0.092016 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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