📄 wdt.c
字号:
/******************** (C) COPYRIGHT 2010 Embest Info&Tech Co.,LTD. ************
* 文件名: wdt.c
* 作者 : Wuhan R&D Center, Embest
* 日期 : 01/18/2010
* 描述 : 看门狗定时器相关函数原型的实现.
*******************************************************************************
*******************************************************************************
* 历史:
* 01/18/2010 : V1.0 初始版本
*******************************************************************************/
/* Includes ------------------------------------------------------------------*/
/* LPC11xx 外设寄存器 */
#include "LPC11xx.h"
#include "wdt.h"
volatile uint32_t wdt_counter;
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/**
* @函数名:WDT_IRQHandler
* @描述:看门狗定时器中断例程
* @参数: 无
* @返回值:无
*/
void WDT_IRQHandler(void)
{
/* 清定时器超时标志位 */
LPC_WDT->MOD &= ~WDTOF;
/* 请注意,顺序是至关重要的。 */
/* 这时,在清中断标志位 */
LPC_WDT->MOD &= ~WDINT;
wdt_counter++;
}
/**
* @函数名:WDTInit
* @描述:初始化看门狗定时器,配置看门狗中断例程
* @参数: 无
* @返回值:无
*/
void WDTInit( void )
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<<15);
wdt_counter = 0;
/* 使能WDT中断 */
NVIC_EnableIRQ(WDT_IRQn);
/* 一旦 WDEN 被设置了, 在喂食之后WDT就会开始 */
LPC_WDT->TC = WDT_FEED_VALUE;
LPC_WDT->MOD = WDEN | WDRESET;
/* 喂食顺序 */
LPC_WDT->FEED = 0xAA;
LPC_WDT->FEED = 0x55;
return;
}
/**
* @函数名:WDTFeed
* @描述:喂食看门狗以阻止它超时
* @参数: 无
* @返回值:无
*/
void WDTFeed( void )
{
/* 喂食顺序 */
LPC_WDT->FEED = 0xAA;
LPC_WDT->FEED = 0x55;
return;
}
/**
* @}
*/
/**
* @}
*/
/************* (C) COPYRIGHT 2010 Wuhan R&D Center, Embest *****文件结束*******/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -