打印
[STM32F1]

STM32窗口看门狗问题。

[复制链接]
2030|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
d865841995|  楼主 | 2016-4-9 09:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我又来问问题了。
关于STM32窗口看门狗,在初始化函数里,只要一使能看门狗就会触发复位信号。大家有遇到过么?什么情况。我的这个程序是原子哥的代码,没改动过啊...


WWDG_Init(0X7F,0X5F,WWDG_Prescaler_8);  //主函数中的调用初始化函数

void WWDG_Init(u8 tr,u8 wr,u32 fprer)
{
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);  //   WWDG时钟使能

        WWDG_SetPrescaler(fprer);////设置IWDG预分频值

        WWDG_SetWindowValue(wr);//设置窗口值
       

        WWDG_Enable(tr);         //使能看门狗 ,        设置 counter .               执行这个使能及赋值后就触发复位,这是什么原因?     

        WWDG_ClearFlag();

        WWDG_NVIC_Init();//初始化窗口看门狗 NVIC

        WWDG_EnableIT(); //开启窗口看门狗中断
}

沙发
JY-DX-JY| | 2016-4-9 09:27 | 只看该作者
看门狗复位啦?没喂狗?

使用特权

评论回复
板凳
d865841995|  楼主 | 2016-4-9 09:48 | 只看该作者
JY-DX-JY 发表于 2016-4-9 09:27
看门狗复位啦?没喂狗?

我那时在初始化中............

使用特权

评论回复
地板
d865841995|  楼主 | 2016-4-9 09:55 | 只看该作者
大家有没有用过窗口看门狗写程序的。一般都应用在什么情况下?中断是用来保存数据的,那一般在哪些位置喂狗?有做过的朋友都来说说哈,谢谢大家。

使用特权

评论回复
5
弈涯| | 2016-4-9 17:59 | 只看该作者
LZ的窗口看门狗中断服务程序是怎么写的?窗口看门狗会在计数到下窗口值之前触发中断,需要在中断里重新设置窗口看门狗计数器的初值和清除中断标志位(所谓的喂狗)。很怀疑LZ的中断服务程序处理错误,可以检查看看。

使用特权

评论回复
6
huangcunxiake| | 2016-4-9 18:56 | 只看该作者
莫非是喂狗的周期设置太短了,不足以有时间干其他的事情。

使用特权

评论回复
7
d865841995|  楼主 | 2016-4-13 08:48 | 只看该作者
弈涯 发表于 2016-4-9 17:59
LZ的窗口看门狗中断服务程序是怎么写的?窗口看门狗会在计数到下窗口值之前触发中断,需要在中断里重新设置 ...

我软件仿真的,在初始化的时候就直接复位了,根本就没跳到中断里去.......有点晕晕的

使用特权

评论回复
8
d865841995|  楼主 | 2016-4-13 08:49 | 只看该作者
弈涯 发表于 2016-4-9 18:02
窗口看门狗在计数值到达下窗口值之前就会触发提前唤醒中断,只需要在提前唤醒中断中喂狗就行 ...

这样做有什么意义么?一般窗口看门狗的中断不是用来放遗产用的么

使用特权

评论回复
9
d865841995|  楼主 | 2016-4-13 08:50 | 只看该作者
huangcunxiake 发表于 2016-4-9 18:56
莫非是喂狗的周期设置太短了,不足以有时间干其他的事情。

初始化的时候就直接复位了,没搞懂....

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

293

帖子

6

粉丝