我是靠谱客的博主 淡淡鞋子,最近开发中收集的这篇文章主要介绍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;

最后

以上就是淡淡鞋子为你收集整理的Stm32之配置WWDG流程的全部内容,希望文章能够帮你解决Stm32之配置WWDG流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部