78 lines
970 B
C
78 lines
970 B
C
/**
|
|
* @copyright 2017 Indie Semiconductor.
|
|
*
|
|
* This file is proprietary to Indie Semiconductor.
|
|
* All rights reserved. Reproduction or distribution, in whole
|
|
* or in part, is forbidden except by express written permission
|
|
* of Indie Semiconductor.
|
|
*
|
|
* @file wdt_device.c
|
|
* @Author: Jack.Pan
|
|
* @E-mail:jack.pan@indiemicro.com
|
|
* @Date: 2020/09/10
|
|
*/
|
|
|
|
#include <string.h>
|
|
#include <meta.h>
|
|
#include "wdt_device.h"
|
|
#include "errno.h"
|
|
#include <isrfuncs.h>
|
|
/**
|
|
* @brief The instance of WDT device
|
|
*/
|
|
|
|
void WatchdogA_Handler(void)
|
|
{
|
|
|
|
}
|
|
|
|
void WDTA_Enable(WDTAInterval_t interval)
|
|
{
|
|
WDTA_SFRS->CTRL.TIMEOUTSEL = (uint8_t)interval;
|
|
CRGA_SFRS->WDTACTION.WDTBARKCNT = 5;
|
|
WDTA_SFRS->CTRL.UPDATE = 1U;
|
|
WDTA_SFRS->CLEAR = 0x3c574ad6U;
|
|
WDTA_SFRS->STOPR.STOP = 0U;/* start wdt*/
|
|
|
|
}
|
|
|
|
void WDTA_Disable(void)
|
|
{
|
|
WDTA_SFRS->STOPR.STOP = 0xC3U;/* stop wdt*/
|
|
}
|
|
|
|
void WDTA_Clear(void)
|
|
{
|
|
WDTA_SFRS->CLEAR = 0x3c574ad6U;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|