Stm32之配置WWDG流程

看门狗初始化

void WWDG_Init(u8 tr, u8wr, u8 fprer)
RCC->APB1ENR |= 1 << 11; //使能wwdg时钟
WWDG->CFR |= fprer << 7; //PCLK1 / 4096 再除2^fprer
WWDG->CFR &= 0xff80;
WWDG->CFR |= wr;	//设定窗口值
WWDG->CR |= tr;		//设定计数器值
WWDG->CR |= 1 << 7;//开启看门狗
MY_NVIC_Init(2,3,WWDG_IRQn,2);
WWDG->SR  = 0x00; //清除提前唤醒中断标志位
WWDG->SR |= 1<< 9;//使能提前唤醒中断

喂狗

void WWDG_Set_Counter(u8 cnt)
{
	WWDG->CR = (cnt & 0x7f);
}

中断服务程序

void WWDG_IRQHandler(void)
{
	WWDG_Set_Counter(0x7f);
	WWDG->SR= 0x00;//清除提前唤醒中断标志位
	{}
}

看门狗的超时公式
Twwdg=(4096 * 2^WDGTB * (T[5:0] + 1)) / Fpclk1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值