STM32/STM8技术william hill官网
直播中

丨少_年

5年用户 14经验值
擅长:EMC/EMI设计
私信 关注
[问答]

stm32F103C8T6最小系统能实现独立看门狗程序吗?

STM32F103C8T6最小系统能实现独立看门狗程序吗?怎么实现,求解
  • 看门狗3.png
已退回10积分

回帖(1)

陈闽涛

2019-6-13 16:00:50
有两种看门狗模式独立看门狗和窗口看门狗,你先看看这两种的区别。
附上看门狗代码:
/**
* 初始化独立看门狗
* prer:分频数:0~7(只有低 3 位有效!)
* 分频因子=4*2^prer.但最大值只能是 256!
* rlr:重装载寄存器值:低 11 位有效.
* 时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).
*IWDG_Init(4,625);//初始化独立看门狗,分频数为64,重装载值为625,溢出时间计算为:64*625/40=1000ms=1s
*/
void IWDG_Init(u8 prer,u16 rlr)
{
    IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); /* 使能对寄存器IWDG_PR和IWDG_RLR的写操作*/
    IWDG_SetPrescaler(prer);    /*设置IWDG预分频值:设置IWDG预分频值*/
    IWDG_SetReload(rlr);     /*设置IWDG重装载值*/
    IWDG_ReloadCounter();    /*按照IWDG重装载寄存器的值重装载IWDG计数器*/
    IWDG_Enable();        /*使能IWDG*/
}

/**
* 喂独立看门狗
*/
void IWDG_Feed(void)
{
    IWDG_ReloadCounter();    /*reload*/
}

/**
*main函数
*/
void main(void)
{
  NVIC_Configuration();//优先级配置
  IWDG_Init(4,625);//初始化独立看门狗,分频数为64,重装载值为625,溢出时间计算为:64*625/40=1000ms=1s
 while(1)
  {
    delay_ms(500);//0.5秒喂一次狗
      IWDG_Feed();//喂狗
  }        
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分