OpenEdv-开源电子网

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

窗口看门狗中断服务函数问题

[复制链接]

7

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2013-11-27
在线时间
0 小时
发表于 2014-5-16 22:58:25 | 显示全部楼层 |阅读模式
5金钱
u8 WWDG_CNT=0X7F;

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|=tr;
    WWDG->CR|=1<<7;   //开启看门狗      
    MY_NVIC_Init(2,3,WWDG_IRQChannel,2);//抢占2,子优先级3,组2     
    WWDG->SR=0X00; //清除提前唤醒中断标志位 
    WWDG->CFR|=1<<9;        //使能提前唤醒中断 

//重设置WWDG计数器的值 
void WWDG_Set_Counter(u8 cnt) 

    WWDG->CR =(cnt&0x7F);//重设置7位计数器 


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

1.请问上述程序中,可否不需要void WWDG_Set_Counter(u8 cnt)子程序,而是直接在void WWDG_IRQHandler(void) 中写入WWDG->CR =(WWDG_CNT&0x7F);
2.程序开头为什么要保存WWDG计数器的值啊,为什么不想设计窗口值一样,使用WWDG->CR|=tr。

最佳答案

查看完整内容[请看2#楼]

1,自己测试即可的答案。 2,这个可以不保存。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-16 22:58:26 | 显示全部楼层
1,自己测试即可的答案。
2,这个可以不保存。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

7

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2013-11-27
在线时间
0 小时
 楼主| 发表于 2014-5-17 09:27:47 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
1.之前测试过,原来的功能能够实现,但是不知道有没有隐含的错误,所以就问了下。
2.您编写这个程序的时候,把WWDG计数器的值保存下来是出于什么考虑啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-18 00:30:15 | 显示全部楼层
回复【3楼】上善若水19900927:
---------------------------------
喂狗不一定都是7F,而是需要初始化的时候那个值,这个时候,就必须用到:WWDG_CNT来保存我们初始化WWDG时的喂狗值了。。。
事实上我们现在的代码也是这样,喂狗值就保存在WWDG_CNT里面,在中断里面喂狗的时候,就通过
 WWDG_Set_Counter(WWDG_CNT);//重设窗口看门狗的值!
来喂狗
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 00:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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