历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2019年03月08日 | STM32之窗口看门狗例程

2019-03-08 来源:eefocus

#include "stm32f10x.h"


/* RCC时钟配置 */

void RCC_config(void)

 ErrorStatus HSEStartUpStatus;


 /* RCC寄存器设置为默认配置 */

 RCC_DeInit();

 /* 打开外部高速时钟 */

 RCC_HSEConfig(RCC_HSE_ON);

 /* 等待外部高速时钟稳定 */

 HSEStartUpStatus = RCC_WaitForHSEStartUp();

 if(HSEStartUpStatus == SUCCESS) 

 { 

  /* 设置HCLK = SYSCLK */

  RCC_HCLKConfig(RCC_SYSCLK_Div1);

  /* 设置PCLK2 = HCLK */

  RCC_PCLK2Config(RCC_HCLK_Div1);

  /* 设置PCLK1 = HCLK / 2 */

  RCC_PCLK1Config(RCC_HCLK_Div2);

//  /* 设置FLASH代码延时 */

//  FLASH_SetLatency(FLASH_Latency_2);

//  /* 使能预取址缓存 */

//  FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

  /* 设置PLL时钟源为HSE倍频9 72MHz */

  RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

  /* 使能PLL */

  RCC_PLLCmd(ENABLE);

  /* 等待PLL稳定 */

  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

  /* 设置PLL为系统时钟源 */

  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  /* 等待系统时钟源切换到PLL */

  while(RCC_GetSYSCLKSource() != 0x08);

 }

}


/* 窗口看门狗配置 */

void WWDG_config(void)

{

 /* 打开时钟 */

 RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);


 /* 设置WWDG预分频值 */

 WWDG_SetPrescaler(WWDG_Prescaler_8);

 /* 设置窗口值 */

 WWDG_SetWindowValue(0x60);

 /* 使能看门狗 */

 WWDG_Enable(0x7F);

 /* 清除中断标志位 */

 WWDG_ClearFlag();

 /* 使能中断 */

 WWDG_EnableIT();

}


/* 中断向量配置 */

void NVIC_config(void)

{

 NVIC_InitTypeDef NVIC_InitStructure;


 /* 中断分组2 */

 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

 

 NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQn;

 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;

 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;

 NVIC_Init(&NVIC_InitStructure);

}



/* 毫秒延时函数 */

void delay_ms(uint16_t time)

{    

 uint16_t i = 0; 


 while(time--)

 {

  i = 12000;

  while(i--);    

 }

}


/* WWDG中断向量 */

void WWDG_IRQHandler(void)

{

 /* 喂狗 */

 WWDG_SetCounter(0x7F);

 

 /* 清除中断标志位 */

 WWDG_ClearFlag();

}



/* 主函数 */

int main(void)

{

 /* RCC时钟配置 */

 RCC_config(); 


 /* 中断向量配置 */

 NVIC_config();

 

 /* 窗口看门狗配置 */

 WWDG_config();


 while(1)

 {

  delay_ms(1000);

 }

}

--------------------- 

作者:QQ1034313020 

来源:CSDN 

原文:https://blog.csdn.net/lushoumin/article/details/78947020 

版权声明:本文为博主原创文章,转载请附上博文链接!


上一篇:STM32之ADC原理

下一篇:STM32之BKP例程

推荐阅读

史海拾趣

百佳(BAIJIA)公司的发展小趣事

在多年的发展过程中,百佳公司始终坚守品质至上的原则。他们严格把控产品质量,从原材料采购到生产制造的每一个环节都进行严格的监控和检测。同时,百佳公司还注重提升客户服务水平,为客户提供及时、专业的技术支持和售后服务。正是这种对品质的坚持和对客户的尊重,使得百佳公司赢得了广大客户的信赖和长期合作。

这五个故事只是百佳公司在电子行业发展中的一部分缩影。它们展示了百佳公司从初创时期的艰苦与坚持,到抓住市场机遇迅速崛起,再到技术创新引领发展、拓展国际市场实现全球化布局,以及坚持品质至上赢得客户信赖的完整历程。这些故事不仅见证了百佳公司的成长和成功,也展现了电子行业的蓬勃发展和无限可能。

Barnbrook Systems Limited公司的发展小趣事

Barnbrook Systems Limited的创始人在电子工程领域拥有深厚的背景,他们看到了市场对于高效能计算设备的需求。于是,公司应运而生,初期专注于研发高性能的电路板。通过不断的技术创新和优化,Barnbrook成功开发出一款具有革命性的电路板,其稳定性和处理速度远超当时市场上的同类产品。这一突破性的技术为Barnbrook赢得了众多客户的青睐,也为公司的快速发展奠定了坚实的基础。

ABOV(现代单片机)公司的发展小趣事

在电子产品行业,产品质量和客户服务是企业生存和发展的关键。Barnbrook深知这一点,因此在发展过程中始终坚持严格的品质管理和优质的客户服务。公司建立了完善的质量管理体系,对每一道工序都进行严格把关,确保产品的稳定性和可靠性。同时,Barnbrook也重视客户反馈和需求,不断优化产品和服务,赢得了客户的信任和好评。

Ethertronics公司的发展小趣事

Barnbrook Systems Limited的创始人在电子工程领域拥有深厚的背景,他们看到了市场对于高效能计算设备的需求。于是,公司应运而生,初期专注于研发高性能的电路板。通过不断的技术创新和优化,Barnbrook成功开发出一款具有革命性的电路板,其稳定性和处理速度远超当时市场上的同类产品。这一突破性的技术为Barnbrook赢得了众多客户的青睐,也为公司的快速发展奠定了坚实的基础。

Able Systems公司的发展小趣事

随着电子行业的快速发展,Able Systems公司不断引进新技术,对产品进行升级改进。公司在打印机的设计和制造方面结合独家采购的领先技术,确保产品能够满足最苛刻的要求。这种对技术创新的执着追求,使得Able Systems的产品在行业中始终保持领先地位。

Artesyn Embedded Technologies公司的发展小趣事

Artesyn Embedded Technologies自1981年成立以来,一直致力于电源产品的研发与创新。在20世纪90年代,公司推出了一款具有突破性的精密电源产品,该产品以其高效能、低能耗的特点迅速在市场中获得了认可。这一成功不仅使公司获得了更多的市场份额,也为后续产品的研发奠定了坚实的基础。

问答坊 | AI 解惑

生动形象的教学用电子钟[ZT]

生动形象的教学用电子钟[ZT] 笔者在教学中,设计了一套教学实验用“电子钟”电路。此线路包括七段数码显示器BS205和循环彩灯电路,实验显示生动有趣,各部分原理简单,适宜学生直接观察“编码器”、“译码器”、“寄存器”、“计数器”等逻辑 ...…

查看全部问答>

新手提问:如何同时安装C51 和 MDK

我现在安装了MDK3.22a,但是编译不了C51程序,还要安装什么呀…

查看全部问答>

TQ2440 触摸屏

关于TQ2440触摸屏的应用设计。现在能够实现触摸屏界面的旋转,想添加一些其它的应用功能,请问能不能把显示界面缩小,即原来3.5寸屏的界面,显示为1.75寸的区域,这种功能能够实现吗?如果实现需要涉及那些方面?…

查看全部问答>

wince,在flash中保存文件!

我在flash上烧写的镜像文件为 NK.BIN, 我在注册表中添加如下: ; Bind BINFS to the block driver [HKEY_LOCAL_MACHINE\\System\\StorageManager\\Profiles\\FlashDrv]     \"DefaultFileSystem\"=\"BINFS\"     \"Partition ...…

查看全部问答>

STM32GPIO不受控?

我用的是keil. 遇到到 PA4, PA5 , PA6,PA7 等无法设置输出状态. 在keil的调试状态就感觉无**常设置.而引脚设置跟附近的一样,看起来没错. 但无**常设置.其他的比如PC5~PC7等就没有问题. 初始化的语句:应该没有问题.    GPIO_Ini ...…

查看全部问答>

stm32低功耗管理复位问题,请教~~

下载 (108.1 KB) 2011-1-19 15:42 我现在在做微功耗,用的是待机模式,我在看微功耗的待机模式的启动项中,有个启动方式是IWDG,但是这中启动方式我没有办法跟踪,我在手册中看到可以检测复位标记来判断是什么方式复位 ...…

查看全部问答>

【求助】中断编译不能通过!!

#include<msp430x44x.h> interrupt[TIMERA0_VECTOR] void Timer_A(void) { ~~~ } void InitSystem(void) { ~~~ //TIME_A TACTL=ID1+TASSEL1+TACLR+ ...…

查看全部问答>

比较器

有那位高手可以推荐高速比较器的电路,急!!!!…

查看全部问答>

寻迹小车DIY

这是当年毕业设计参考的项目了,最近翻资料翻出来,抖出来晒晒太阳.... 那个觉得有用就拿去吧    …

查看全部问答>

有没有3v可用的数码管驱动芯片?或者怎么用电池给5v的74门供电?

想做个数字钟,但是找不到3v可用的数码管驱动芯片,找到了淘宝上也没卖的。 另外就是考虑怎么给3v/5v元件混合电路用AA电池供电………

查看全部问答>