OpenEdv-开源电子网

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

~~跪求大神解答,关于开启窗口看门狗问题

[复制链接]

5

主题

115

帖子

0

精华

高级会员

Rank: 4

积分
925
金钱
925
注册时间
2014-9-29
在线时间
276 小时
发表于 2015-8-20 19:37:56 | 显示全部楼层 |阅读模式
5金钱
在寄存器版本的窗口看门狗初始化函数中,是先设置好窗口值和计数值,然后再启用看门狗的。
在这里可否理解为设置好窗口值和计数值时一开始就进行了比较,导致比较结果=1,然后启用看门狗的语句   WWDG->CR |= 1<<7;  //启用看门狗  理解为写入了WWDG_CR ,再有此时 WWGA 也为 1 ,从而产生了复位。
然而实验实际上并不是这样的,是我理解错误了还是怎样的?

初始化函数如下:

//保存WWDG计数器的设置值,默认为最大.  
u8 WWDG_CNT=0x7f;  
//初始化窗口看门狗  
//tr:T[6:0],计数器值  
//wr:W[6:0],窗口值  
//fprer:分频系数(WDGTB),仅最低2位有效  
//Fwwdg=PCLK1/(4096*2^fprer).  
void WWDG_Init(u8 tr,u8 wr,u8 fprer)  
{     
RCC->APB1ENR|=1<<11;  //使能wwdg时钟  
WWDG_CNT=tr&WWDG_CNT;   //初始化WWDG_CNT.      
WWDG->CFR|=fprer<<7;    //PCLK1/4096再除2^fprer  
WWDG->CFR&=0XFF80;       
WWDG->CFR|=wr;      //设定窗口值       
WWDG->CR|=WWDG_CNT;  //设定计数器值  
WWDG->CR|=1<<7;   //开启看门狗       
MY_NVIC_Init(2,3,WWDG_IRQn,2);//抢占2,子优先级3,组2      
WWDG->SR=0X00;  //清除提前唤醒中断标志位  
WWDG->CFR|=1<<9;        //使能提前唤醒中断  
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

115

帖子

0

精华

高级会员

Rank: 4

积分
925
金钱
925
注册时间
2014-9-29
在线时间
276 小时
 楼主| 发表于 2015-8-20 21:02:22 | 显示全部楼层
自己调试了一下,把 WWDG->CR |= 1<<7;  //启用看门狗  这一句放到中断里面,把原来的喂狗语句注释掉,现象是和没喂狗的现象是一样的,说明了 WWDG->CR |= 1<<7;  //启用看门狗 这一语句并不触发看门狗框图里的 “写入 WWDG_CR ”,所以在初始化时最后才启用看门狗不会产生复位。
不知这样理解是否正确,求各位老师指正


//窗口看门狗中断服务程序
void WWDG_IRQHandler(void)
{
    WWDG->SR = 0X00; //清除提前唤醒中断标志位
    WWDG->CR |= 1<<7;  //启用看门狗
//  WWDG_Set_Counter(WWDG_CNT);//重设窗口看门狗的值!
    LED2 = !LED2;
}

!!!发现上面的调试并不能说明什么,就是说理解是不到位的,因为有可能  (WWDG->CR |= 1<<7;  //启用看门狗 ) 这语句是属于“写入 WWDG_CR”,可是并不属于“喂狗”,所以放在中断里面并不会产生喂狗动作。 
回复

使用道具 举报

5

主题

115

帖子

0

精华

高级会员

Rank: 4

积分
925
金钱
925
注册时间
2014-9-29
在线时间
276 小时
 楼主| 发表于 2015-8-20 22:42:36 | 显示全部楼层
现在有个猜想就是 控制寄存器 (WWDG_CR) 中 T[6:0] 中的数在使能窗口看门狗时(RCC->APB1ENR|=1<<11;  //使能wwdg时钟 ),就自动开始递减,而且递减到 0 了,所以接下来的窗口值 W[6:0] 无论设置多大都比计数器 T[6:0] 要大,从而开启看门狗时(WWDG->CR |= 1<<7;  //启用看门狗)也不会产生中断,而且在设置计数器时(WWDG->CR|=WWDG_CNT;  //设定计数器值)直接用上了“与”来赋值。
不知这样理解是否正确 @正点原子
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-16 07:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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