我是靠谱客的博主 淡淡鞋子,这篇文章主要介绍Stm32之配置WWDG流程,现在分享给大家,希望可以做个参考。

看门狗初始化

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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;//使能提前唤醒中断

喂狗

复制代码
1
2
3
4
5
void WWDG_Set_Counter(u8 cnt) { WWDG->CR = (cnt & 0x7f); }

中断服务程序

复制代码
1
2
3
4
5
6
7
void WWDG_IRQHandler(void) { WWDG_Set_Counter(0x7f); WWDG->SR= 0x00;//清除提前唤醒中断标志位 {} }

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

最后

以上就是淡淡鞋子最近收集整理的关于Stm32之配置WWDG流程的全部内容,更多相关Stm32之配置WWDG流程内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部