OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6798|回复: 10

mini板的 窗口看门狗中断服务程序 不懂!求教……

[复制链接]

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
发表于 2013-2-27 16:22:11 | 显示全部楼层 |阅读模式
//窗口看门狗中断服务程序
void WWDG_IRQHandler(void)
{
 u8 wr, tr;
 wr = WWDG->CFR & 0x7F;
 //因为WWDG_CR只有位[6:0]才用来存储看门狗的计数器值
 //故须用&0X7F来清除WWDG_CR的第7位
 tr = WWDG->CR & 0X7F;
 if (tr < wr)
 {
  //只有当计数器的值小于窗口寄存器的值才能写CR
  WWDG_Set_Counter(WWDG_CNT);
 }
 WWDG->SR = 0X00;//清除提前唤醒中断标志位
 LED1 = !LED1; 
}
问1:对tr = WWDG->CR & 0X7F;进行解释的红色字体是对的吗?
        对于wr = WWDG->CFR & 0x7F;也可以用同样的解释吗?
问2:对于蓝色字体部分搞不懂,进入中断服务程序的条件不是 看门狗的计数器值减到0X40的时候,如果该位设置,并开启了中断,则会产生中断 吗?
       这应该是说只要进入了中断服务,那么 tr < wr 是恒成立的啊!所以应该是不需要if判断的啊!但事实并非如此啊,为啥呢?
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-27 17:12:39 | 显示全部楼层
1,两个是。
2,这里我也很奇怪,找不到为什么。新版本的代码改过来了。不需要设置这里。请看最新版本的代码。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-2-27 17:40:02 | 显示全部楼层
新版本代码 在哪呀?
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-27 18:26:31 | 显示全部楼层
http://www.openedv.com/posts/list/11806.htm
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-2-27 19:20:14 | 显示全部楼层
不行啊  你那是战舰的代码吧?我的是mini板啊 代码根本用不了……
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-2-27 19:23:54 | 显示全部楼层
//窗口看门狗中断服务程序
void WWDG_IRQHandler(void)
{
// u8 wr, tr;
// wr = WWDG->CFR & 0x7F;
// //因为WWDG_CR只有位[6:0]才用来存储看门狗的计数器值
// //故须用&0X7F来清除WWDG_CR的第7位
// tr = WWDG->CR & 0X7F;
// if (tr < wr)
// {
// //只有当计数器的值小于窗口寄存器的值才能写CR
     WWDG_Set_Counter(WWDG_CNT);
// }
WWDG->SR = 0X00;//清除提前唤醒中断标志位
LED1 = !LED1;
}

我按照新版代码把老版代码多余的给注释了,但不行啊,下载到mini板后,DS0一直亮着,DS1不亮!求解释……
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-27 21:47:45 | 显示全部楼层
胡扯,放上去一样跑,甚至直接下载就可以了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-2-27 21:57:29 | 显示全部楼层
没胡扯  就是不行  我又试了一次的……我不会瞎说话的 相信我……
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-2-27 21:58:49 | 显示全部楼层
你那个链接的新版代码 下载到mini板后 那两个灯完全没反应的……
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-27 22:16:55 | 显示全部楼层
直接下载不行!一个是战舰板,一个是mini板。
我指的是wdg.c里面的内容,你完全copy过去就是了。不用改任何东西。copy到mini板例程,下载,完事。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-2-28 16:37:42 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
嗯 按此说 确实搞定
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-24 11:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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