首页 > 其他分享 >15. WWDG配置步骤

15. WWDG配置步骤

时间:2023-07-08 23:22:04浏览次数:38  
标签:HAL 步骤 void 15 Init WWDG handle wwdg

1. WWDG配置步骤

2. 相关HAL库函数介绍

3.编程实战

WWDG_HandleTypeDef g_wwdg_handle;

/* 窗口看门狗初始化函数 */
void wwdg_init(uint8_t tr, uint8_t wr, uint32_t fprer)
{
    g_wwdg_handle.Instance = WWDG;//寄存器基地址
    g_wwdg_handle.Init.Counter = tr; //计数器的初始值
    g_wwdg_handle.Init.Window = wr;  //窗口上限值
    g_wwdg_handle.Init.Prescaler = fprer; //分频系数
    g_wwdg_handle.Init.EWIMode = WWDG_EWI_ENABLE; //Early Wakeup Interrupt Mode enable
    HAL_WWDG_Init(&g_wwdg_handle);
}

/* WWDG MSP回调函数 */
//像在MSP中设置的这些内容,可能换一块板子,由于硬件的不同,就需要重新配置,我们将这样的内容放到MSP中进行配置
//HAL_WWDG_MspInit函数系统默认定义的是__weak,即允许用户进行重定义,这个地方有点中断服务回调函数的味道。

void HAL_WWDG_MspInit(WWDG_HandleTypeDef *hwwdg)
{
    __HAL_RCC_WWDG_CLK_ENABLE();  //开时钟
    
    HAL_NVIC_SetPriority(WWDG_IRQn, 2, 3);  //设置中断优先级
    HAL_NVIC_EnableIRQ(WWDG_IRQn);  //使能中断
}

/* WWDG中断服务函数 */
void WWDG_IRQHandler(void)
{
		//HAL库的公共处理函数,在这里面会调用中断回调函数HAL_WWDG_EarlyWakeupCallback
		//该函数的内容是需要我们自己实现的
    HAL_WWDG_IRQHandler(&g_wwdg_handle); 
}

/* WWDG提前唤醒回调函数 */
void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef *hwwdg)
{
    HAL_WWDG_Refresh(&g_wwdg_handle);  //喂狗,否则会reset
    LED1_TOGGLE();
}

 

标签:HAL,步骤,void,15,Init,WWDG,handle,wwdg
From: https://www.cnblogs.com/-glb/p/17538079.html

相关文章

  • 「Python实用秘技15」pandas中基于范围条件进行表连接
    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills这是我的系列文章「Python实用秘技」的第15期,本系列立足于笔者日常工作中使用Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。作为系列第1......
  • 西门子plc以太网通讯步骤
    大家好,今天我给大家介绍一款超级实用的产品——捷米特ETH-S7系列模块!这款模块适用于西门子S7-200/S7-300/S7-400、SMARTS7-200、西门子数控840D、840DSL、ET200、合信、亿维PLC的PPI/MPI/PROFIBUS转以太网。用于西门子S7-200/S7-300/S7-400程序上下载、上位监控、设备联网和数据......
  • 如何实现MySQL大表查询慢的具体操作步骤
    MySQL大表查询慢的问题解决流程对于MySQL大表查询慢的问题,我们可以采取以下流程进行解决。以下表格展示了整个流程,以及每一步需要做的事情和相应的代码。步骤操作代码1检查索引SHOWINDEXFROMtable_name;2优化查询语句EXPLAINSELECT*FROMtable_nameWHERE......
  • 解决MySQL存储较长的字符串的具体操作步骤
    MySQL存储较长的字符串在数据库中,我们经常需要存储各种类型的数据。有时,我们需要存储较长的字符串,如文章内容或者文本文件。MySQL是一个流行的关系型数据库管理系统,它提供了多种方式来存储较长的字符串数据。本文将介绍在MySQL中存储较长的字符串的几种常用方法,并提供相应的代码示......
  • 如何实现MySQL创建排班表的具体操作步骤
    MySQL创建排班表在现代社会中,许多企事业单位都需要对员工进行排班管理,以保证工作的正常运转。MySQL作为一个强大的关系型数据库管理系统,可以很好地满足这个需求。本文将介绍如何使用MySQL创建一个排班表,并通过代码示例演示其使用方法。创建数据表首先,我们需要创建一个数据表来存......
  • 如何实现MySQLn元关系是指关系中的具体操作步骤
    MySQL多元关系的实现概述在MySQL数据库中,多元关系是指一个关系表中包含多个外键,从而实现多个表之间的关联。通过多元关系,我们可以在数据库中存储和查询多个表之间的关联数据,从而提高数据的查询效率和准确性。实现步骤下面是实现MySQL多元关系的一般步骤:步骤描述1创......
  • 解决MySQL5.5安装无响应的具体操作步骤
    MySQL5.5安装无响应MySQL是一种开源的关系型数据库管理系统,被广泛应用于Web应用程序的后台数据存储和管理。然而,在安装MySQL5.5版本时,有时候会出现无响应的情况,给用户带来困扰。本文将介绍可能导致MySQL5.5安装无响应的原因,并提供相应的解决方案。原因分析系统冲突:安装MySQL5.......
  • 如何实现MySQL 字符串转换成数组的具体操作步骤
    MySQL字符串转换成数组在MySQL中,我们经常需要对字符串进行处理和转换。有时候,我们需要将一个字符串拆分成多个部分,然后进行进一步的处理。这时,将字符串转换成数组是一种常见的操作。方法一:使用SUBSTRING_INDEX函数MySQL提供了SUBSTRING_INDEX函数,可以用于将一个字符串按照指定......
  • 如何实现MySQL 一张表多个id列对应多张表的数据的具体操作步骤
    MySQL一张表多个id列对应多张表的数据在数据库设计和管理中,我们经常会遇到一种情况:一个表中的某些列需要与其他表中的数据建立关联。MySQL提供了多种方式来实现这种关联关系,其中一种常见的方式是通过多个id列对应多张表的数据。在本文中,我们将介绍如何在MySQL中实现这种关联关系,......
  • 解决MySQL 修改创建用户 主机名的具体操作步骤
    MySQL修改创建用户主机名简介在MySQL中,我们可以通过修改和创建用户来管理数据库的访问权限。本文将向刚入行的小白介绍如何通过MySQL来修改和创建用户的主机名。操作步骤下表总结了修改和创建用户主机名的步骤:步骤操作步骤1登录MySQL数据库步骤2查看已存在的......