OpenEdv-开源电子网

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

独立看门狗出现问题,,,,,,,,

[复制链接]

22

主题

271

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
405
金钱
405
注册时间
2019-3-21
在线时间
107 小时
发表于 2019-6-6 13:04:02 | 显示全部楼层 |阅读模式
1金钱
system_init()初始化程序把看门狗注释掉所有程序就可以正常运行,如果加上所有程序直接挂掉,是我配置的有问题吗?


#include "IWDG.h"         //独立看门狗

void IWDG_config(void)
{
  IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);   //0x5555

  IWDG_SetPrescaler(IWDG_Prescaler_4);    //狗狗时钟分频,40K/4=10KHZ(0.1ms)

  IWDG_SetReload(1000);   //喂狗时间 100ms/0.1MS=1000,不能大于0xfff

  IWDG_ReloadCounter();     //喂狗

  IWDG_Enable();     //使能
}

void IWDG_init(void)
{
  IWDG_config();
}

void IWDG_Feed(void)  //喂狗函数,外部调用
{
  IWDG->KR=0xAAAA;
}


void system_init(void)
{
  //IWDG_init();                         // 初始化程序把这个注释掉所有程序就可以正常运行,如果加上所有程序直接挂掉,是我配置的有问题吗?
  relay_init();
  //led_gpio_init();
  //led_breath_init();
  SysTick_Config_Init();    //系统时钟初始化 48MHZ
  //modbus_slave_usart5();   //modbus从机
  modbus_master_usart5();  //modbus主机
}

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

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1769
金钱
1769
注册时间
2015-6-11
在线时间
313 小时
发表于 2019-6-6 13:20:13 | 显示全部楼层
看门狗开启后,就要计算好时间不停的喂狗,所以在硬件初始化部分一定放在最后面,且在任何执行时间可能过长的地方都要喂狗,不然时间一到就硬件复位了,还有你看门狗设置的时间太短了,正常都是2-5s左右不喂狗才会复位-100ms,可能中断里执行个复杂应用就复位了。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 10:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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