OpenEdv-开源电子网

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

F4探索板窗口看门狗问题

[复制链接]

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2016-2-24
在线时间
17 小时
发表于 2016-2-24 01:53:00 | 显示全部楼层 |阅读模式
1金钱
窗口看门狗中断服务函数
void WWDG_IRQHandler(void)
{
        WWDG_SetCounter(WWDG_CNT);                              
        WWDG_ClearFlag();                        正确     清除中断标志位代码放在这一行程序能够一直正确执行              
        LED1=~LED1;                                                                                                                                           
        printf("WWDG正在执行... \r\n");                                                                                                       
//        WWDG_ClearFlag();                    错误     清除中断标志位代码放在这一行会造成反复复位
}

求详细解析,是不是由于多执行的两行代码的时间超过窗口区间,导致看门狗反复复位

Template7_窗口看门狗(std).zip

11.83 MB, 下载次数: 154

最佳答案

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

正解,是printf的运行时间越过窗口。 如果你串口波特率设置为9600, 则该printf执行至少需要18byte*10bit/9600bps=18.75ms
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-2-24 01:53:01 | 显示全部楼层
本帖最后由 xkwy 于 2016-2-25 14:37 编辑

正解,是printf的运行时间越过窗口。

如果你串口波特率设置为9600,
则该printf执行至少需要18byte*10bit/9600bps=18.75ms
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2016-2-24
在线时间
17 小时
 楼主| 发表于 2016-3-1 00:46:32 | 显示全部楼层
xkwy 发表于 2016-2-24 01:53
正解,是printf的运行时间越过窗口。

如果你串口波特率设置为9600,

多谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 20:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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