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

1.IWDG_SetPrescaler

函数原型:void IWDG_SetPrescaler(u8 IWDG_Prescaler)

功能:设置IWDG预分频值

参数:IWDG_Prescaler:IWDG预分频值

参数描述:IWDG_Prescaler

IWDG_Prescaler参数 描述 IWDG_Prescaler参数 描述
IWDG_Prescaler_4 设置IWDG预分频值为4 IWDG_Prescaler_64 设置IWDG预分频值为64
IWDG_Prescaler_8 设置IWDG预分频值为8 IWDG_Prescaler_128 设置IWDG预分频值为128
IWDG_Prescaler_16 设置IWDG预分频值为16 IWDG_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_PORRST POR/PDR复位
RCC_FLAG_HSERDY HSE晶振就绪 RCC_FLAG_SFTRST 软件复位
RCC_FLAG_PLLRDY PLL就绪 RCC_FLAG_IWDGRST IWDG复位
RCC_FLAG_LSERDY LSE晶振就绪 RCC_FLAG_WWDGRST WWDG复位
RCC_FLAG_LSIRDY LSI晶振就绪 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)