STM32-自学笔记(18.独立看门狗,使用到的库函数)

2019-11-16来源: eefocus关键字:STM32  独立看门狗  库函数

1.IWDG_SetPrescaler

函数原型:void IWDG_SetPrescaler(u8 IWDG_Prescaler)

功能:设置IWDG预分频值

参数:IWDG_Prescaler:IWDG预分频值

参数描述:IWDG_Prescaler

IWDG_Prescaler参数描述IWDG_Prescaler参数描述
IWDG_Prescaler_4设置IWDG预分频值为4IWDG_Prescaler_64设置IWDG预分频值为64
IWDG_Prescaler_8设置IWDG预分频值为8IWDG_Prescaler_128设置IWDG预分频值为128
IWDG_Prescaler_16设置IWDG预分频值为16IWDG_Prescaler_256设置IWDG预分频值为256
IWDG_Prescaler_32设置IWDG预分频值为32

例子:IWDG_SetPrescaler(IWDG_Prescaler_8);                //设置IWDG预分频值为8

2.IWDG_SetReload

函数原型:void IWDG_SetReload(u16 Reload)

功能:设置IWDG重装载值

参数:Reload:IWDG的重装载值。取值范围0~0x0FFF

例子:IWDG_SetReload(0xFFF);              //设置IWDG的重装载值为0xFFF

3.IWDG_ReloadCounter

函数原型:void IWDG_ReloadCounter(void)

功能描述:将IWDG重装载寄存器的值装载至IWDG计数器

参数:无

例子:IWDG_ReloadCounter();      //重装IWDG的计数值

4.IWDG_Enable

函数原型:void IWDG_Enable(void)

功能:使能IWDG

参数:无

例子:IWDG_Enable();       //开启IWDG

5.IWDG_GetFlagStatus

函数原型:FlagStatus IWDG_GetFlagStatus(u16 IWDG_FLAG)

功能:检查指定的IWDG标志位

参数:IWDG_FLAG:待检查的IWDG标志位

返回值:IWDG_FLAG的新状态(SET或RESET)

参数描述:IWDG_FLAG,可以被函数IWDG_GetFlagStatus获取的标志位。

IWDG_FLAG参数描述
IWDG_FLAG_PVU预分频值更新进行中标志
IWDG_FLAG_RVU重装载值更新进行中标志

例子:  

//检测预分频值是否正在更新中

FlagStatus Status;

Status=IWDG_GetFlagStatus(IWDG_FLAG_PVU);

if(Status==RESET)

{...}

else

{...}

6.RCC_GetFlagStatus

函数原型:FlagStatus RCC_GetFlagStatus(u8 RCC_FLAG)

功能:检查指定的RCC标志位

参数:RCC_FLAG:待检查的RCC标志位

返回值:RCC_FLAG的新状态(SET或者RESET)

参数描述:RCC_FLAG,代表可以被函数RCC_GetFlagStatus检查的标志位

RCC_FLAG参数描述RCC_FLAG参数描述

RCC_FLAG_HSIRDY

HSI晶振就绪RCC_FLAG_PORRSTPOR/PDR复位
RCC_FLAG_HSERDYHSE晶振就绪RCC_FLAG_SFTRST软件复位
RCC_FLAG_PLLRDYPLL就绪RCC_FLAG_IWDGRSTIWDG复位
RCC_FLAG_LSERDYLSE晶振就绪RCC_FLAG_WWDGRSTWWDG复位
RCC_FLAG_LSIRDYLSI晶振就绪RCC_FLAG_LPWRRST低功耗复位
RCC_FLAG_PINRST引脚复位

 

例子:

//查询PLL输出时钟是否稳定

FlagStatus Status;

Status=RCC_GetFlagStatus(RCC_FLAG_PLLRDY);

if(Status==RESET)

{...}

else

{...}

7.RCC_ClearFlag

函数原型:void RCC_ClearFlag(void)

功能:清除RCC的复位标志位

参数:RCC_FLAG:待清除的RCC复位标志位。

例子:RCC_ClearFlag();   //清除一系列复位标志

关键字:STM32  独立看门狗  库函数 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic480243.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:[HAL库学习之路]6.WWDG-窗口看门狗
下一篇:STM32 HAL库学习系列第11篇---定时器TIM---看门狗基本配置及使用

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

74LS164 for stm32 源码
:74LS164.c---------------------------------------------------------------------------------------------------------------------------------------------#include "stm32f10x.h"#include "stm32f10x_rcc.h"#include "stm32f10x_gpio.h"#include "74LS164.h"/* 延时模块82615468 sp-320-12 * */static void delay(u32 t){ u32 i; while(t--) for (i = 0; i < 1; i++);}void Ls164Init(void){ GPIO_InitTypeDef
发表于 2019-12-11
74LS164 for stm32 源码
STM32 SysTick定时器应用【worldsing笔记】
SysTick是CM内核独立的定时器,时钟可以用内核内部的,也可以用芯片厂家(ST)的时钟,参考《Cortex-M3权威指南》的第13章: 另外也可以考《STM32F10xxx Cortex-M3 programming manual.pdf》第4章CM3系统外设,从手册来看,ST应该只提供了内核外部时钟,而外部时钟又分成两种:HCLK/8 和 HCLK,  ST官方提供了库直接可以操作SYSTICK,但不同的版本使用起来有些区别: 在V2.0的版本中对SysTick的操作是使用的stm32f10x_systick.c和stm32f10x_systick.h void
发表于 2019-12-11
STM32 SysTick定时器应用【worldsing笔记】
Keil uCos 2.52 stm32 【worldsing笔记】
;    RevBit(LED_GPIO->ODR, 12)           /*LED 状态反转                              */ 2、stm32 Lib V3.5 
发表于 2019-12-11
stm32_CAN总线知识
一、CAN总线的特点:bxCAN主要特点● 支持CAN协议2.0A和2.0B主动模式● 波特率最高可达1兆位/秒● 支持时间触发通信功能发送● 3个发送邮箱● 发送报文的优先级特性可软件配置● 记录发送SOF时刻的时间戳接收● 3级深度的2个接收FIFO● 可变的过滤器组:─ 在互联型产品中,CAN1和CAN2分享28个过滤器组─ 其它STM32F103xx系列产品中有14个过滤器组● 标识符列表● FIFO溢出处理方式可配置● 记录接收SOF时刻的时间戳时间触发通信模式● 禁止自动重传模式● 16位自由运行定时器● 可在最后2个数据字节发送时间戳管理● 中断可屏蔽● 邮箱占用单独1块地址空间,便于提高软件效率双CAN● CAN1
发表于 2019-12-11
stm32_CAN总线知识
STM8L051F3_03_CLK应用
本文介绍STM8L的CLK相关知识。内容分为以下几部分:CLK简介系统时钟频率切换1、CLK简介STM8L051F3的时钟控制系统设计时非常稳定的,同时也很容易使用,它可以使得MUC在低消耗下获仍然保持优性能。用户可以通过管理分配到CPU&外设的时钟来达到降低功耗。STM8L051F3有一个安全无干扰的时钟切换机制允许用户切换系统时钟源,同时可以通过预分频器来控制系统时钟频率。时钟结构图如下:注:STM8L051F3的Peripheral Clock enable是13 bit,没有LCD外设STM8L051F3的系统时钟源有以下4种:16MHz内部高速(出厂已校准)RC时钟HSI1~16MHz外部高速振荡器时钟
发表于 2019-12-11
STM8L051F3_03_CLK应用
低功耗版STM8L051的一个诡异配置
为了做个低功耗项目,从最便宜的STM8S003切换到低功耗系列里较便宜的STM8L051;在STM8S003上调通了HALT休眠处理后,最低待机电流是67uA;用了STM8L051后,实测能到2uA;但是后来遇到个诡异的问题,TIMER4莫名其妙不动作,好像不计时了。开关中断,改初始化配置,都没用,很奇怪。最后发现,是init'初始化的时候,没有给TIMER4配置CLK时钟源,导致的,原来的代码并没有写TIM4,        CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_4);       
发表于 2019-12-11
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved