OpenEdv-开源电子网

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

加喂狗指令IWDG_Feed()程序死机

[复制链接]

21

主题

55

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2012-4-27
在线时间
194 小时
发表于 2021-9-9 10:43:43 | 显示全部楼层 |阅读模式
1金钱
在F0的程序中稍加修改加入看门狗例程:IWDG_Init(IWDG_PRESCALER_64,1000);不加IWDG_Feed();程序正常,在2S后程序会重启,加了IWDG_Feed();语句后,程序会进入到void HardFault_Handler(void)里,请问大神大概是什么原因?

最佳答案

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

搞定,加上:IWDG_Handler.Init.Window = IWDG_WINDOW_DISABLE;
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

55

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2012-4-27
在线时间
194 小时
 楼主| 发表于 2021-9-9 10:43:44 | 显示全部楼层
搞定,加上:IWDG_Handler.Init.Window = IWDG_WINDOW_DISABLE;
回复

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1481
金钱
1481
注册时间
2020-8-19
在线时间
336 小时
发表于 2021-9-9 10:48:16 | 显示全部楼层
你看看喂狗代码写对了没
回复

使用道具 举报

21

主题

55

帖子

0

精华

高级会员

Rank: 4

积分
750
金钱
750
注册时间
2012-4-27
在线时间
194 小时
 楼主| 发表于 2021-9-9 11:01:05 | 显示全部楼层
代码是原子哥的例程,没有更改
IWDG_HandleTypeDef IWDG_Handler; //独立看门狗句柄

//初始化独立看门狗
//prer:分频数:IWDG_PRESCALER_4~IWDG_PRESCALER_256
//rlr:自动重装载值,0~0XFFF.
//时间计算(大概):Tout=((4*2^prer)*rlr)/32 (ms).
void IWDG_Init(uint8_t prer,uint16_t rlr)
{
    IWDG_Handler.Instance=IWDG;
    IWDG_Handler.Init.Prescaler = prer;        //设置IWDG分频系数
    IWDG_Handler.Init.Reload = rlr;                //重装载值
    HAL_IWDG_Init(&IWDG_Handler);                //初始化IWDG,默认会开启独立看门狗       
}
   
//喂独立看门狗
void IWDG_Feed(void)
{   
    HAL_IWDG_Refresh(&IWDG_Handler);//喂狗
}
回复

使用道具 举报

11

主题

2148

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4911
金钱
4911
注册时间
2015-1-10
在线时间
615 小时
发表于 2021-9-9 13:51:25 | 显示全部楼层
debug单步走
回复

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
128
金钱
128
注册时间
2020-12-25
在线时间
23 小时
发表于 2021-9-9 16:47:39 | 显示全部楼层
可能是狗饿死了,看看有没有按时喂
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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