STM32F4外设驱动系列之IWDG

IWDG相关寄存器

IWDG_KR:关键字寄存器
IWDG_PR:预分频器寄存器
IWDG_RLR:重载寄存器
IWDG_SR:状态寄存器

寄存器详细介绍请参考《STM32F4xx参考手册》

IWDG初始化函数与参数

IWDG相关函数

HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg)
HAL_StatusTypeDef HAL_IWDG_Start(IWDG_HandleTypeDef *hiwdg)
HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)

IWDG初始化参数结构体

typedef struct
{
  IWDG_TypeDef                 *Instance;
  IWDG_InitTypeDef             Init;
  HAL_LockTypeDef              Lock;
  __IO HAL_IWDG_StateTypeDef   State;
}IWDG_HandleTypeDef

相关函数与结构体请参见HAL库源代码

IWDG初始化实例

//IWDG初始化函数
//prer:预分频值(IWDG_PRESCALER_4-IWDG_PRESCALER_256)
//rlr:自动重装载值(0-0xfff)
//喂狗时间计算(预估):Tout = ((4*2^prer)*rlr)/32 (ms)
//IWDG使用LSI(32kHz左右)作为时钟源,因此不需要初始化外设时钟
void IWDG_Init(u8 prer, u16 rlr)
{
	IWDG_Handler.Instance = IWDG;
	IWDG_Handler.Init.Prescaler = prer;		//设置IWDG分频系数
	IWDG_Handler.Init.Reload = rlr;			//设置IWDG重载数值
	HAL_IWDG_Init(&IWDG_Handler);
	
	HAL_IWDG_Start(&IWDG_Handler);			//开启IWDG
}

//IWDG喂狗函数
void IWDG_Feed(void)
{
	HAL_IWDG_Refresh(&IWDG_Handler);		//重装载,即喂狗
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值