2026/2/28 14:25:21
网站建设
项目流程
沈阳网站优化建设,做算命类网站违法吗?,上海网站设计公司 静安,godaddy如何买wordpress一.简介STM32有两个看门狗#xff1a;独立看门狗#xff08;IWDG#xff09;#xff0c;窗口看门狗。独立看门狗是一个12位的递减计数器#xff0c;当计数器的值从某个值减到0的时候#xff0c;系统产生复位信号二IWDG功能剖析1.独立看门狗时钟IWDG的clock由Independent的…一.简介STM32有两个看门狗独立看门狗IWDG窗口看门狗。独立看门狗是一个12位的递减计数器当计数器的值从某个值减到0的时候系统产生复位信号二IWDG功能剖析1.独立看门狗时钟IWDG的clock由Independent的RC振荡器LSI提供独立的 频率为30-60khz,一般40khz,所以IWDG的定时实际不是非常精准使用低精度2.count clock递减count的clock由LSILow Speed Internal)经过8bit的Prescaler得到我们operate presacler register IWDG_PR设置分频因子因子[4,8,16,32,64,128,256],CK_CNT40/4*2^PRV(Prescaler Value),一个CNT Clock- cnt-13.CNT它是一个12bit的递减CNTMAX0XFF,减到0产生IWDG_RESET,重新启动刷新CNT value的动作“喂狗”4.Reload Register里面装着刷新到CNT的值值得大小决定独立看门狗的溢出时间T_out (4*2^prv)/40*rlv5.键寄存器属于Control Register,三种模式6.Status RegisterSR只有bit 0,PVU和bit 1三实战IWDG属于单片机内部资源只需要一个外部按键和LED1IWDG配置函数voidIWDG_Config(uint_8 prv,uint16_t rlv){//使能PR and RLR可写IWDG_WriteAcessCmd( IWDG_WriteAcess_Enable);//sset prescaler valueIWDG_SetPresacler(prv);//set Reload valueIWDG_ReloadCounter();//enable IWDGIWDG_Enable;}(3)喂狗函数void IWDG_Feed(void){//RLR的value to CNT,w喂狗放置Reset//CNT-0 --- ResetIWDG_ReloadCounter();}(3)main函数int main(){LED_Config();Delay(0x8FFFFF);if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) ! REST){LED_RED;RCC_ClearFlag();}else{LED_BLUE;}Key_GPIO_Config();IWDG_Config(IWDG_Prescaler_64,625)//tRLR/f625/40000/641swhile(1){if(Key_Scan(PA,PA13) KEY_ON){IWDG_FEED;LED_GREEN;}}}}