303 lines
8.3 KiB
C
303 lines
8.3 KiB
C
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @file ciu32l051_std_tamp.h
|
|||
|
* @author MCU Ecosystem Development Team
|
|||
|
* @brief TAMP STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* <EFBFBD>ṩTAMP<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD>塣
|
|||
|
*
|
|||
|
*
|
|||
|
**************************************************************************************************
|
|||
|
* @attention
|
|||
|
* Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
|
|||
|
*
|
|||
|
**************************************************************************************************
|
|||
|
*/
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#ifndef CIU32L051_STD_TAMP_H
|
|||
|
#define CIU32L051_STD_TAMP_H
|
|||
|
|
|||
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @addtogroup CIU32L051_STD_Driver
|
|||
|
* @{
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* @defgroup TAMP TAMP
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD>ݼĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @{
|
|||
|
*/
|
|||
|
/************************************************************************************************/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
/*------------------------------------------includes--------------------------------------------*/
|
|||
|
#include "ciu32l051_std_common.h"
|
|||
|
|
|||
|
|
|||
|
/*--------------------------------------------define--------------------------------------------*/
|
|||
|
|
|||
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @defgroup TAMP_Constants TAMP Constants
|
|||
|
* @brief TAMP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>弰<EFBFBD>궨<EFBFBD><EFBFBD>
|
|||
|
* @{
|
|||
|
*
|
|||
|
*/
|
|||
|
/************************************************************************************************/
|
|||
|
|
|||
|
/* TAMP<4D><50><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>Դ */
|
|||
|
#define TAMP_SOURCE_TAMP_IN TAMP_ENR_TAMPEN /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>ּ<EFBFBD><D6BC>⣨<EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ţ<EFBFBD> */
|
|||
|
|
|||
|
/* <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>ּ<EFBFBD><D6BC>ⴥ<EFBFBD><E2B4A5><EFBFBD><EFBFBD>ʽ */
|
|||
|
#define TAMP_TRIGGER_RISING_EDGE (0x00000000U) /**< <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD> */
|
|||
|
#define TAMP_TRIGGER_FALLING_EDGE (0x00000001U) /**< <20>½<EFBFBD><C2BD>ش<EFBFBD><D8B4><EFBFBD> */
|
|||
|
#define TAMP_TRIGGER_LOW_LEVEL TAMP_TRIGGER_RISING_EDGE /**< <20>͵<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD> */
|
|||
|
#define TAMP_TRIGGER_HIGH_LEVEL TAMP_TRIGGER_FALLING_EDGE /**< <20>ߵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD> */
|
|||
|
|
|||
|
/* <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#define TAMP_FILTER_DISABLE (0x00000000U) /**< <20><><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>رգ<D8B1><D5A3><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1>ش<EFBFBD><D8B4><EFBFBD> */
|
|||
|
#define TAMP_FILTER_2SAMPLE TAMP_FLTCR_2SAMPLE /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><EFBFBD> */
|
|||
|
#define TAMP_FILTER_4SAMPLE TAMP_FLTCR_4SAMPLE /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><EFBFBD> */
|
|||
|
#define TAMP_FILTER_8SAMPLE TAMP_FLTCR_8SAMPLE /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><EFBFBD> */
|
|||
|
|
|||
|
/* TAMP<4D><50><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD> */
|
|||
|
#define TAMP_INTERRUPT_TAMP_IN TAMP_IER_TAMPIE /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>ּ<EFBFBD><D6BC>⣨<EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ţ<EFBFBD><C5A3>ж<EFBFBD>ʹ<EFBFBD><CAB9> */
|
|||
|
|
|||
|
/* <20><><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD>־ */
|
|||
|
#define TAMP_FLAG_TAMP_IN TAMP_SR_TAMPF /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>ּ<EFBFBD><D6BC>⣨<EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ţ<EFBFBD><C5A3>ı<EFBFBD>־ */
|
|||
|
|
|||
|
/* TAMP<4D><50><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD>ж<EFBFBD>״̬<D7B4><CCAC>־ */
|
|||
|
#define TAMP_INTERRUPT_FLAG_TAMP_IN TAMP_ISR_TAMPIF /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD>ּ<EFBFBD><D6BC>⣨<EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ţ<EFBFBD><C5A3>ж<EFBFBD>״̬<D7B4><CCAC>־ */
|
|||
|
|
|||
|
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD>־ */
|
|||
|
#define TAMP_CLEAR_FLAG_TAMP_IN TAMP_CLR_CTAMPF /**< <20><><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ּ<EFBFBD><D6BC>⣨<EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>ţ<EFBFBD><C5A3>ı<EFBFBD>־ */
|
|||
|
|
|||
|
|
|||
|
/* <20><><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#define TAMP_BACKUP_NUMBER (0x00000005U)
|
|||
|
|
|||
|
/* <20><><EFBFBD>ݼĴ<DDBC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|||
|
#define TAMP_BACKUP_DR0 (TAMP->BKP0R)
|
|||
|
#define TAMP_BACKUP_DR1 (TAMP->BKP1R)
|
|||
|
#define TAMP_BACKUP_DR2 (TAMP->BKP2R)
|
|||
|
#define TAMP_BACKUP_DR3 (TAMP->BKP3R)
|
|||
|
#define TAMP_BACKUP_DR4 (TAMP->BKP4R)
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
/*-------------------------------------------functions------------------------------------------*/
|
|||
|
|
|||
|
/************************************************************************************************/
|
|||
|
/**
|
|||
|
* @defgroup TAMP_External_Functions TAMP External Functions
|
|||
|
* @brief TAMP<EFBFBD><EFBFBD><EFBFBD>⺯<EFBFBD><EFBFBD>
|
|||
|
* @{
|
|||
|
*
|
|||
|
*/
|
|||
|
/************************************************************************************************/
|
|||
|
|
|||
|
/**
|
|||
|
* @brief ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param source <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
* @arg TAMP_SOURCE_TAMP_IN
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_enable(uint32_t source)
|
|||
|
{
|
|||
|
TAMP->ENR |= source;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param source <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
* @arg TAMP_SOURCE_TAMP_IN
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_disable(uint32_t source)
|
|||
|
{
|
|||
|
TAMP->ENR &= (~source);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
* @param source <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
* @arg TAMP_SOURCE_TAMP_IN
|
|||
|
* @retval uint32_t <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @arg TAMP_SOURCE_TAMP_IN <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE bool std_tamp_get_source(uint32_t source)
|
|||
|
{
|
|||
|
return (TAMP->ENR & source);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_pullup_enable(void)
|
|||
|
{
|
|||
|
TAMP->FLTCR |= TAMP_FLTCR_TAMPPUEN;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_pullup_disable(void)
|
|||
|
{
|
|||
|
TAMP->FLTCR &= (~TAMP_FLTCR_TAMPPUEN);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD>ⴥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
* @param trigger <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
|||
|
* @arg TAMP_TRIGGER_RISING_EDGE
|
|||
|
* @arg TAMP_TRIGGER_FALLING_EDGE
|
|||
|
* @arg TAMP_TRIGGER_LOW_LEVEL
|
|||
|
* @arg TAMP_TRIGGER_HIGH_LEVEL
|
|||
|
* @note <EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0ʱ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD>⽫<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD>⽫<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_set_trigger(uint32_t trigger)
|
|||
|
{
|
|||
|
MODIFY_REG(TAMP->CR, TAMP_CR_TAMPTRIG, (trigger << TAMP_CR_TAMPTRIG_POS));
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param filter <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @arg TAMP_FILTER_DISABLE
|
|||
|
* @arg TAMP_FILTER_2SAMPLE
|
|||
|
* @arg TAMP_FILTER_4SAMPLE
|
|||
|
* @arg TAMP_FILTER_8SAMPLE
|
|||
|
* @note <EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0ʱ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD>⽫<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
* <EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD>⽫<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_set_filter(uint32_t filter)
|
|||
|
{
|
|||
|
MODIFY_REG(TAMP->FLTCR, TAMP_FLTCR_TAMPFLT, filter);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief ʹ<EFBFBD>ܱ<EFBFBD><EFBFBD>ݼĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_bkp_erase_enable(void)
|
|||
|
{
|
|||
|
TAMP->CR &= (~TAMP_CR_TAMPNOER);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD>ݼĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_bkp_erase_disable(void)
|
|||
|
{
|
|||
|
TAMP->CR |= TAMP_CR_TAMPNOER;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
* @param tamp_interrupt <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ж<EFBFBD>
|
|||
|
* @arg TAMP_INTERRUPT_TAMP_IN
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_interrupt_enable(uint32_t tamp_interrupt)
|
|||
|
{
|
|||
|
TAMP->IER |= tamp_interrupt;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
* @param tamp_interrupt <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ж<EFBFBD>
|
|||
|
* @arg TAMP_INTERRUPT_TAMP_IN
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_interrupt_disable(uint32_t tamp_interrupt)
|
|||
|
{
|
|||
|
TAMP->IER &= (~tamp_interrupt);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><EFBFBD>״̬
|
|||
|
* @param tamp_interrupt <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>ж<EFBFBD>
|
|||
|
* @arg TAMP_INTERRUPT_TAMP_IN
|
|||
|
* @retval bool <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><EFBFBD>״̬
|
|||
|
* @arg true <EFBFBD><EFBFBD>ʾ<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
|
|||
|
* @arg false <EFBFBD><EFBFBD>ʾ<EFBFBD>ж<EFBFBD>δʹ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE bool std_tamp_get_interrupt_enable(uint32_t tamp_interrupt)
|
|||
|
{
|
|||
|
return ((TAMP->IER & tamp_interrupt) == tamp_interrupt);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־״̬
|
|||
|
* @param tamp_flag <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
* @arg TAMP_FLAG_TAMP_IN
|
|||
|
* @retval bool <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־״̬
|
|||
|
* @arg true <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @arg false <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE uint32_t std_tamp_get_flag(uint32_t tamp_flag)
|
|||
|
{
|
|||
|
return ((TAMP->SR & tamp_flag) == tamp_flag);
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־״̬
|
|||
|
* @param tamp_flag <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
* @arg TAMP_CLEAR_FLAG_IN_TAMP
|
|||
|
* @retval <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE void std_tamp_clear_flag(uint32_t tamp_flag)
|
|||
|
{
|
|||
|
TAMP->CLR = tamp_flag;
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>״̬
|
|||
|
* @param interrupt_flag <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>жϱ<EFBFBD>־
|
|||
|
* @arg TAMP_INTERRUPT_FLAG_TAMP_IN
|
|||
|
* @retval bool <EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>״̬
|
|||
|
* @arg true <EFBFBD><EFBFBD>ʾ<EFBFBD>ж<EFBFBD><EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @arg false <EFBFBD><EFBFBD>ʾ<EFBFBD>ж<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
__STATIC_INLINE bool std_tamp_get_interrupt_flag(uint32_t interrupt_flag)
|
|||
|
{
|
|||
|
return ((TAMP->ISR & interrupt_flag) == interrupt_flag);
|
|||
|
}
|
|||
|
|
|||
|
void std_tamp_deinit(void);
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
/**
|
|||
|
* @}
|
|||
|
*/
|
|||
|
|
|||
|
#endif /* CIU32L051_STD_TAMP_H */
|
|||
|
|
|||
|
|