OpenEdv-开源电子网

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

关于窗口看门狗WWDG_CFR寄存器中EWI位的置位问题

[复制链接]

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
发表于 2016-10-25 20:17:58 | 显示全部楼层 |阅读模式
今天学习窗口看门狗例程的时候,看到WWDG_CFR寄存器中的EWI位的功能为:该位 置1会在tr=0x40的时候产生中断。然后可以通过在产生的中断内及时喂狗以避免看门狗复位。但是在程序中找了很久也没能找到EWI是通过什么样的方式置1的,难道在WWDG中断开启后EWI位就默认置1了吗?
本人新手一枚。。。求大神解疑,跪谢了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-10-25 20:20:41 | 显示全部楼层
本帖最后由 406088008 于 2016-10-25 20:23 编辑

void WWDG_IRQHandler(void)
{  WWDG_SetCounter(0x7F);
  WWDG_ClearFlag();
  LED1=!LED1;
}
如果默认置1,在这个中断服务程序里为什么又要将EWI位清0呢,实在是不理解。。。


回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-10-25 21:39:26 | 显示全部楼层
再仔细看几遍程序
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-10-26 10:16:30 | 显示全部楼层
龙之谷 发表于 2016-10-25 21:39
再仔细看几遍程序

刚刚通过查程序找到了这个函数定义,请问是通过这个函数将EWI位置1的吗?
void WWDG_EnableIT(void)
{
  *(__IO uint32_t *) CFR_EWI_BB = (uint32_t)ENABLE;}
回复 支持 反对

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-10-26 11:33:36 | 显示全部楼层
应该是吧
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-10-27 10:48:16 | 显示全部楼层

好的,我懂了,非常感谢!
回复 支持 反对

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2016-10-10
在线时间
20 小时
发表于 2016-11-1 21:29:16 | 显示全部楼层
406088008 发表于 2016-10-25 20:20
void WWDG_IRQHandler(void)
{  WWDG_SetCounter(0x7F);
  WWDG_ClearFlag();

如果在LED1翻转后加个延时300ms,这个延时会管用么
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-11-2 10:13:02 | 显示全部楼层
本帖最后由 406088008 于 2016-11-2 10:15 编辑
liuzixia123 发表于 2016-11-1 21:29
如果在LED1翻转后加个延时300ms,这个延时会管用么


可以加延时,但是300ms太长了(相对于计数器从初始值0x7F减到0x40的时间),会来不及执行喂狗操作,从而使看门狗产生复位。经验证,LED1翻转后加个50ms以内的延时可以使LED1正常闪烁。
回复 支持 反对

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2016-10-10
在线时间
20 小时
发表于 2016-11-2 23:10:02 | 显示全部楼层
406088008 发表于 2016-11-2 10:13
可以加延时,但是300ms太长了(相对于计数器从初始值0x7F减到0x40的时间),会来不及执行喂狗操作,从 ...

谢谢哈,如果窗口值大于计数器值呢?我的总不对
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
37
金钱
37
注册时间
2014-1-18
在线时间
3 小时
发表于 2016-11-7 21:07:11 | 显示全部楼层
这个EWI位应该在使能中断的时候就置一,同步的,不需要单独设置
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-11-12 10:58:45 | 显示全部楼层
liuzixia123 发表于 2016-11-2 23:10
谢谢哈,如果窗口值大于计数器值呢?我的总不对

窗口值大于计数器值是正常的吧,这时处于可刷新计数器值的阶段
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-11-12 11:02:12 | 显示全部楼层
那年的阿童木 发表于 2016-11-7 21:07
这个EWI位应该在使能中断的时候就置一,同步的,不需要单独设置

恩恩,对的,当时找了好久才找到了这一句,在使能看门狗中断的函数定义里面
void WWDG_EnableIT(void)
{
  *(__IO uint32_t *) CFR_EWI_BB = (uint32_t)ENABLE;}
回复 支持 反对

使用道具 举报

42

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
448
金钱
448
注册时间
2016-3-8
在线时间
57 小时
发表于 2016-11-27 11:39:19 | 显示全部楼层
406088008 发表于 2016-11-12 11:02
恩恩,对的,当时找了好久才找到了这一句,在使能看门狗中断的函数定义里面
void WWDG_EnableIT(void) ...

找到这一句你是怎么对上号的呢?怎样对上中断使能寄存器的位置的能,这句话我推断了一下他的寄存器位置是0x420080A4,但是我没有找到这个寄存器在哪
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-11-30 17:33:49 | 显示全部楼层
ouxili 发表于 2016-11-27 11:39
找到这一句你是怎么对上号的呢?怎样对上中断使能寄存器的位置的能,这句话我推断了一下他的寄存器位置是 ...

这个使能看门狗中断的函数里包含的语句不就是将EWI置1的意思吗
回复 支持 反对

使用道具 举报

42

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
448
金钱
448
注册时间
2016-3-8
在线时间
57 小时
发表于 2016-12-1 17:41:47 | 显示全部楼层
406088008 发表于 2016-11-30 17:33
这个使能看门狗中断的函数里包含的语句不就是将EWI置1的意思吗

是的,但是我推导了一下寄存器地址没有对上号。
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2016-10-25
在线时间
13 小时
 楼主| 发表于 2016-12-12 19:04:50 | 显示全部楼层
ouxili 发表于 2016-12-1 17:41
是的,但是我推导了一下寄存器地址没有对上号。

我看的是库函数版本的...所以没有对寄存器深究
回复 支持 反对

使用道具 举报

42

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
448
金钱
448
注册时间
2016-3-8
在线时间
57 小时
发表于 2016-12-13 08:46:06 | 显示全部楼层
好吧,谢谢你
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 12:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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