CIU32_L051_M307R/Peripheral/CIU32L051_Lib/Include/ciu32l051_std_lptim.h

783 lines
26 KiB
C
Raw Permalink Normal View History

/************************************************************************************************/
/**
* @file ciu32l051_std_lptim.h
* @author MCU Ecosystem Development Team
* @brief LPTIM STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD>LPTIM<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.
*
**************************************************************************************************
*/
/*<2A><><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><C4BC>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>*/
#ifndef CIU32L051_STD_LPTIM_H
#define CIU32L051_STD_LPTIM_H
/************************************************************************************************/
/**
* @addtogroup CIU32L051_STD_Driver
* @{
*/
/**
* @defgroup LPTIM LPTIM
* @brief <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"
/*------------------------------------type define-----------------------------------------------*/
/************************************************************************************************/
/**
* @defgroup LPTIM_Types LPTIM Types
* @brief LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD>
* @{
*/
/************************************************************************************************/
/**
* @brief LPTIM<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
typedef struct
{
uint32_t clock_source; /**< LPTIMʱ<4D><CAB1>Դѡ<D4B4><D1A1>
@arg LPTIM_CLK_SRC_INT... */
uint32_t prescaler; /**< LPTIMԤ<4D><D4A4>Ƶ<EFBFBD><C6B5>ϵ<EFBFBD><CFB5>ѡ<EFBFBD><D1A1>
@arg LPTIM_PRESCALER_DIV1... */
uint32_t count_source; /**< LPTIM<49><4D><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Դѡ<D4B4><D1A1>
@arg LPTIM_COUNTER_CLK_INT... */
uint32_t out_polarity; /**< LPTIM<49><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@arg LPTIM_OUTPUT_POLARITY_REGULAR... */
}std_lptim_init_t;
/**
* @}
*/
/*--------------------------------------------define--------------------------------------------*/
/************************************************************************************************/
/**
* @defgroup LPTIM_Constants LPTIM Constants
* @brief LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @{
*
*/
/************************************************************************************************/
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ */
#define LPTIM_COUNT_CONTINUOUS LPTIM_CR_CNTSTRT /**< PWMģʽ<C4A3><CABD><EFBFBD><EFBFBD> */
#define LPTIM_COUNT_SINGLE LPTIM_CR_SNGSTRT /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD> */
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Դѡ<D4B4><D1A1> */
#define LPTIM_COUNTER_CLK_INT (0x00000000U) /**< <20>ڲ<EFBFBD>ʱ<EFBFBD><CAB1>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD> */
#define LPTIM_COUNTER_CLK_EXT LPTIM_CFG_COUNT_MODE /**< <20>ⲿʱ<E2B2BF><CAB1>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD> */
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> */
#define LPTIM_OUTPUT_POLARITY_REGULAR (0x00000000U) /**< CNTС<54><D0A1>CMP<4D><50><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
#define LPTIM_OUTPUT_POLARITY_REVERSE LPTIM_CFG_WAVPOL /**< CNTС<54><D0A1>CMP<4D><50><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ */
/* LPTIM PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>Ƶϵ<C6B5><CFB5>ѡ<EFBFBD><D1A1> */
#define LPTIM_PRESCALER_DIV1 LPTIM_CFG_PRESC_1 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>1<EFBFBD><31>Ƶ */
#define LPTIM_PRESCALER_DIV2 LPTIM_CFG_PRESC_2 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>2<EFBFBD><32>Ƶ */
#define LPTIM_PRESCALER_DIV4 LPTIM_CFG_PRESC_4 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>4<EFBFBD><34>Ƶ */
#define LPTIM_PRESCALER_DIV8 LPTIM_CFG_PRESC_8 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>8<EFBFBD><38>Ƶ */
#define LPTIM_PRESCALER_DIV16 LPTIM_CFG_PRESC_16 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>16<31><36>Ƶ */
#define LPTIM_PRESCALER_DIV32 LPTIM_CFG_PRESC_32 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>32<33><32>Ƶ */
#define LPTIM_PRESCALER_DIV64 LPTIM_CFG_PRESC_64 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>64<36><34>Ƶ */
#define LPTIM_PRESCALER_DIV128 LPTIM_CFG_PRESC_128 /**< PSCԤ<43><D4A4>Ƶ<EFBFBD><C6B5>128<32><38>Ƶ */
/* LPTIM_IN1<4E>ź<EFBFBD>Դѡ<D4B4><D1A1> */
#define LPTIM_IN1_SRC_GPIO LPTIM_CFG2_IN1_SEL_IN1 /**< GPIO<49><4F><EFBFBD><EFBFBD> */
#define LPTIM_IN1_SRC_COMP1 LPTIM_CFG2_IN1_SEL_COMP1 /**< COMP1<50><31><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> */
/* LPTIM_IN2<4E>ź<EFBFBD>Դѡ<D4B4><D1A1> */
#define LPTIM_IN2_SRC_GPIO LPTIM_CFG2_IN2_SEL_IN2 /**< GPIO<49><4F><EFBFBD><EFBFBD> */
#define LPTIM_IN2_SRC_COMP2 LPTIM_CFG2_IN2_SEL_COMP2 /**< COMP2<50><32><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> */
/* LPTIM<49>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>Դѡ<D4B4><D1A1> */
#define LPTIM_TRIG_SRC_GPIO LPTIM_CFG_TRIG_SEL_ETR /**< <20>ⲿGPIO<49><4F><EFBFBD><EFBFBD> */
#define LPTIM_TRIG_SRC_RTCALARM LPTIM_CFG_TRIG_SEL_RTCALARM /**< RTC_ALARM<52><4D><EFBFBD><EFBFBD> */
#define LPTIM_TRIG_SRC_COMP1 LPTIM_CFG_TRIG_SEL_COMP1 /**< COMP1<50><31><EFBFBD><EFBFBD><EFBFBD>źŴ<C5BA><C5B4><EFBFBD> */
#define LPTIM_TRIG_SRC_COMP2 LPTIM_CFG_TRIG_SEL_COMP2 /**< COMP2<50><32><EFBFBD><EFBFBD><EFBFBD>źŴ<C5BA><C5B4><EFBFBD> */
/* LPTIM<49>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> */
#define LPTIM_TRIG_EDGE_RISING LPTIM_CFG_TRIG_EN_RISING /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
#define LPTIM_TRIG_EDGE_FALLING LPTIM_CFG_TRIG_EN_FALLING /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>Ч */
#define LPTIM_TRIG_EDGE_BOTH LPTIM_CFG_TRIG_EN_RISING_FALLING /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>Ч */
/* LPTIM<49>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> */
#define LPTIM_TRIG_SAMPLETIME_NOFLT LPTIM_CFG_TRIG_FLT_NONE /**< <20>κδ<CEBA><CEB4><EFBFBD><EFBFBD>źŵ<C5BA><C5B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><EFBFBD><E4BBAF><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
#define LPTIM_TRIG_SAMPLETIME_2 LPTIM_CFG_TRIG_FLT_2 /**< 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE>ɵ<EFBFBD><C9B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><C6BD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
#define LPTIM_TRIG_SAMPLETIME_4 LPTIM_CFG_TRIG_FLT_4 /**< 4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE>ɵ<EFBFBD><C9B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><C6BD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
#define LPTIM_TRIG_SAMPLETIME_8 LPTIM_CFG_TRIG_FLT_8 /**< 8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE>ɵ<EFBFBD><C9B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><C6BD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
/* LPTIMʱ<4D><CAB1>Դѡ<D4B4><D1A1> */
#define LPTIM_CLK_SRC_INT (0x00000000U) /**< LPTIMʱ<4D><CAB1>Դѡ<D4B4><D1A1><EFBFBD>ڲ<EFBFBD>ʱ<EFBFBD><CAB1> */
#define LPTIM_CLK_SRC_EXT LPTIM_CFG_CKSEL /**< LPTIMʱ<4D><CAB1>Դѡ<D4B4><D1A1><EFBFBD>ⲿʱ<E2B2BF><CAB1> */
/* LPTIM<49>ⲿʱ<E2B2BF><CAB1><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
#define LPTIM_EXTCLK_POL_RISING (0x00000000U) /**< LPTIM<49>ⲿʱ<E2B2BF><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
#define LPTIM_EXTCLK_POL_FALLING LPTIM_CFG_CKPOL_FALLING /**< LPTIM<49>ⲿʱ<E2B2BF><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
#define LPTIM_EXTCLK_POL_BOTH LPTIM_CFG_CKPOL_RISING_FALLING /**< LPTIM<49>ⲿʱ<E2B2BF><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
/* LPTIM<49>ⲿʱ<E2B2BF><CAB1><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
#define LPTIM_EXTCLK_SAMPLETIME_NOFLT LPTIM_CFG_CKFLT_NONE /**< <20>κδ<CEBA><CEB4><EFBFBD><EFBFBD>źŵ<C5BA><C5B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><EFBFBD><E4BBAF><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
#define LPTIM_EXTCLK_SAMPLETIME_2 LPTIM_CFG_CKFLT_2 /**< 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE>ɵ<EFBFBD><C9B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><C6BD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
#define LPTIM_EXTCLK_SAMPLETIME_4 LPTIM_CFG_CKFLT_4 /**< 4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE>ɵ<EFBFBD><C9B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><C6BD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
#define LPTIM_EXTCLK_SAMPLETIME_8 LPTIM_CFG_CKFLT_8 /**< 8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE>ɵ<EFBFBD><C9B5><EFBFBD>Ч<EFBFBD><D0A7>ƽ<EFBFBD><C6BD>Ϊ<EFBFBD><CEAA>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD> */
/* LPTIM<49><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD> */
#define LPTIM_ENCODER_MODE1 (0x00000000U) /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ1<CABD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
#define LPTIM_ENCODER_MODE2 LPTIM_CFG_CKPOL_FALLING /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ2<CABD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
#define LPTIM_ENCODER_MODE3 LPTIM_CFG_CKPOL_RISING_FALLING /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ3<CABD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч */
/* LPTIM DMA<4D><41><EFBFBD><EFBFBD>Դ */
#define LPTIM_DMA_REQUEST_ARR LPTIM_IER_ARR_DMAEN /**< <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>DMA<4D><41><EFBFBD><EFBFBD> */
#define LPTIM_DMA_REQUEST_CMP LPTIM_IER_CMP_DMAEN /**< <20>Ƚ<EFBFBD>ƥ<EFBFBD><C6A5>DMA<4D><41><EFBFBD><EFBFBD> */
/* LPTIM<49>ж<EFBFBD>Դ */
#define LPTIM_INTERRUPT_CMPM LPTIM_IER_CMPM_IE /**< <20>Ƚ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><CAB9> */
#define LPTIM_INTERRUPT_ARRM LPTIM_IER_ARRM_IE /**< <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><CAB9> */
#define LPTIM_INTERRUPT_EXTTRIG LPTIM_IER_EXTTRIG_IE /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><CAB9> */
#define LPTIM_INTERRUPT_UP LPTIM_IER_UP_IE /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><CAB9> */
#define LPTIM_INTERRUPT_DOWN LPTIM_IER_DOWN_IE /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ݼ<EFBFBD><DDBC>ж<EFBFBD>ʹ<EFBFBD><CAB9> */
/* LPTIM<49>ж<EFBFBD>״̬<D7B4><CCAC>־ */
#define LPTIM_FLAG_CMPM LPTIM_ISR_CMPM /**< <20>Ƚ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>־ */
#define LPTIM_FLAG_ARRM LPTIM_ISR_ARRM /**< <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>־ */
#define LPTIM_FLAG_EXTTRIG LPTIM_ISR_EXTTRIG /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ */
#define LPTIM_FLAG_UP LPTIM_ISR_UP /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ */
#define LPTIM_FLAG_DOWN LPTIM_ISR_DOWN /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ */
/* LPTIM<49>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ */
#define LPTIM_CLEAR_CMPM LPTIM_ICR_CMPM_CF /**< <20>Ƚ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD> */
#define LPTIM_CLEAR_ARRM LPTIM_ICR_ARRM_CF /**< <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD> */
#define LPTIM_CLEAR_EXTTRIG LPTIM_ICR_EXTTRIG_CF /**< <20>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ر<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD> */
#define LPTIM_CLEAR_UP LPTIM_ICR_UP_CF /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD> */
#define LPTIM_CLEAR_DOWN LPTIM_ICR_DOWN_CF /**< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD> */
/**
* @}
*/
/*-------------------------------------------functions------------------------------------------*/
/************************************************************************************************/
/**
* @defgroup LPTIM_External_Functions LPTIM External Functions
* @brief LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @{
*
*/
/************************************************************************************************/
/**
* @brief ʹ<EFBFBD><EFBFBD>LPTIM
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @note <EFBFBD><EFBFBD>LPTIMʹ<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>Ч
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_enable(LPTIM_t *lptimx)
{
lptimx->CR |= LPTIM_CR_ENABLE;
}
/**
* @brief <EFBFBD><EFBFBD>ֹLPTIM
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_disable(LPTIM_t *lptimx)
{
lptimx->CR &= (~LPTIM_CR_ENABLE);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param operate_mode <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽѡ<EFBFBD><EFBFBD>
* @arg LPTIM_COUNT_CONTINUOUS: PWMģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_COUNT_SINGLE: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @note <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>LPTIM<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_lptim_start_counter(LPTIM_t *lptimx, uint32_t operate_mode)
{
MODIFY_REG(lptimx->CR, (LPTIM_CR_CNTSTRT | LPTIM_CR_SNGSTRT), operate_mode);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIM<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>ֵ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param auto_reload <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ΧΪ0x0~0xFFFF<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_auto_reload(LPTIM_t *lptimx, uint32_t auto_reload)
{
lptimx->ARR = auto_reload;
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIM<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>ֵ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ΧΪ0x0~0xFFFF<EFBFBD><EFBFBD>
*/
__STATIC_INLINE uint32_t std_lptim_get_auto_reload(LPTIM_t *lptimx)
{
return (lptimx->ARR);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIM<EFBFBD>Ƚ<EFBFBD>ֵ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param compare_Value <EFBFBD>Ƚ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ΧΪ0x0~0xFFFF<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_compare(LPTIM_t *lptimx, uint32_t compare_Value)
{
lptimx->CMP = compare_Value;
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIM<EFBFBD>Ƚ<EFBFBD>ֵ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD>Ƚ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ΧΪ0x0~0xFFFF<EFBFBD><EFBFBD>
*/
__STATIC_INLINE uint32_t std_lptim_get_compare(LPTIM_t *lptimx)
{
return (lptimx->CMP);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @note <EFBFBD><EFBFBD>LPTIMΪ<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>
* @retval uint32_t LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ΧΪ0x0~0xFFFF<EFBFBD><EFBFBD>
*/
__STATIC_INLINE uint32_t std_lptim_get_count(LPTIM_t *lptimx)
{
return (lptimx->CNT);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param counter_clk_src <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @arg LPTIM_COUNTER_CLK_INT: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ʱ<EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_COUNTER_CLK_EXT: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIMx_IN1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿʱ<EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>
* @note LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<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_lptim_set_counter_clk_source(LPTIM_t *lptimx, uint32_t counter_clk_src)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_COUNT_MODE, counter_clk_src);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @arg LPTIM_COUNTER_CLK_INT: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ʱ<EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_COUNTER_CLK_EXT: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIMx_IN1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿʱ<EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD>
*/
__STATIC_INLINE uint32_t std_lptim_get_counter_clk_source(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_COUNT_MODE);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD>ԣ<EFBFBD>LPTIMx_OUT<EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param polarity <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_OUTPUT_POLARITY_REGULAR: <EFBFBD><EFBFBD>CNT < CMP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ
* @arg LPTIM_OUTPUT_POLARITY_REVERSE: <EFBFBD><EFBFBD>CNT < CMP<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_lptim_set_wave_polarity(LPTIM_t *lptimx, uint32_t polarity)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_WAVPOL, polarity);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD>ԣ<EFBFBD>LPTIMx_OUT<EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_OUTPUT_POLARITY_REGULAR: <EFBFBD><EFBFBD>CNT < CMP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CNT > CMP<EFBFBD><EFBFBD>CNT < ARRʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ
* @arg LPTIM_OUTPUT_POLARITY_REVERSE: <EFBFBD><EFBFBD>CNT < CMP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CNT > CMP<EFBFBD><EFBFBD>CNT < ARRʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ
*/
__STATIC_INLINE uint32_t std_lptim_get_wave_polarity(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_WAVPOL);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIMԤ<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶϵ<EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param prescaler Ԥ<EFBFBD><EFBFBD>Ƶϵ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>
* @arg LPTIM_PRESCALER_DIV1
* @arg LPTIM_PRESCALER_DIV2
* @arg LPTIM_PRESCALER_DIV4
* @arg ...
* @arg LPTIM_PRESCALER_DIV128
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_prescaler(LPTIM_t *lptimx, uint32_t prescaler)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_PRESC, prescaler);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIMԤ<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶϵ<EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t Ԥ<EFBFBD><EFBFBD>Ƶϵ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>
* @arg LPTIM_PRESCALER_DIV1
* @arg LPTIM_PRESCALER_DIV2
* @arg LPTIM_PRESCALER_DIV4
* @arg ...
* @arg LPTIM_PRESCALER_DIV128
*/
__STATIC_INLINE uint32_t std_lptim_get_prescaler(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_PRESC);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIMx_IN1<EFBFBD>ź<EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param in1_source LPTIMx_IN1<EFBFBD>ź<EFBFBD>Դѡ<EFBFBD><EFBFBD>
* @arg LPTIM_IN1_SRC_GPIO
* @arg LPTIM_IN1_SRC_COMP1
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_input1_source(LPTIM_t *lptimx, uint32_t in1_source)
{
MODIFY_REG(lptimx->CFG2, LPTIM_CFG2_IN1_SEL, in1_source);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIMx_IN2<EFBFBD>ź<EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param in2_source LPTIMx_IN2<EFBFBD>ź<EFBFBD>Դѡ<EFBFBD><EFBFBD>
* @arg LPTIM_IN2_SRC_GPIO
* @arg LPTIM_IN2_SRC_COMP2
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_input2_source(LPTIM_t *lptimx, uint32_t in2_source)
{
MODIFY_REG(lptimx->CFG2, LPTIM_CFG2_IN2_SEL, in2_source);
}
/**
* @brief ʹ<EFBFBD><EFBFBD>LPTIM<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_timeout_enable(LPTIM_t *lptimx)
{
lptimx->CFG |= LPTIM_CFG_TIMOUT;
}
/**
* @brief <EFBFBD><EFBFBD>ֹLPTIM<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_timeout_disable(LPTIM_t *lptimx)
{
lptimx->CFG &= (~LPTIM_CFG_TIMOUT);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_software_trig(LPTIM_t *lptimx)
{
lptimx->CFG &= (~LPTIM_CFG_TRIG_EN);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param trig_source <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @arg LPTIM_TRIG_SRC_GPIO
* @arg LPTIM_TRIG_SRC_RTCALARM
* @arg ...
* @arg LPTIM_TRIG_SRC_COMP2
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_external_trig_source(LPTIM_t *lptimx, uint32_t trig_source)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_TRIG_SEL, trig_source);
}
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @arg LPTIM_TRIG_SRC_GPIO
* @arg LPTIM_TRIG_SRC_RTCALARM
* @arg ...
* @arg LPTIM_TRIG_SRC_COMP2
*/
__STATIC_INLINE uint32_t std_lptim_get_external_trig_source(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_TRIG_SEL);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param trig_polarity <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_TRIG_EDGE_RISING
* @arg LPTIM_TRIG_EDGE_FALLING
* @arg LPTIM_TRIG_EDGE_BOTH
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_external_trig_polarity(LPTIM_t *lptimx, uint32_t trig_polarity)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_TRIG_EN, trig_polarity);
}
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_TRIG_EDGE_RISING
* @arg LPTIM_TRIG_EDGE_FALLING
* @arg LPTIM_TRIG_EDGE_BOTH
*/
__STATIC_INLINE uint32_t std_lptim_get_external_trig_polarity(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_TRIG_EN);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param trig_filter <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_TRIG_SAMPLETIME_NOFLT
* @arg LPTIM_TRIG_SAMPLETIME_2
* @arg LPTIM_TRIG_SAMPLETIME_4
* @arg LPTIM_TRIG_SAMPLETIME_8
* @note <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<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>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_external_trig_filter(LPTIM_t *lptimx, uint32_t trig_filter)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_TRIG_FLT, trig_filter);
}
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_TRIG_SAMPLETIME_NOFLT
* @arg LPTIM_TRIG_SAMPLETIME_2
* @arg LPTIM_TRIG_SAMPLETIME_4
* @arg LPTIM_TRIG_SAMPLETIME_8
*/
__STATIC_INLINE uint32_t std_lptim_get_external_trig_filter(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_TRIG_FLT);
}
/**
* @brief ѡ<EFBFBD><EFBFBD>LPTIMʱ<EFBFBD><EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param clock_source LPTIMʱ<EFBFBD><EFBFBD>Դѡ<EFBFBD><EFBFBD>
* @arg LPTIM_CLK_SRC_INT: ѡ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ʱ<EFBFBD><EFBFBD>Դ
* @arg LPTIM_CLK_SRC_EXT: ѡ<EFBFBD><EFBFBD><EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_clock_source(LPTIM_t *lptimx, uint32_t clock_source)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_CKSEL, clock_source);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIMʱ<EFBFBD><EFBFBD>Դ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t LPTIMʱ<EFBFBD><EFBFBD>Դѡ<EFBFBD><EFBFBD>
* @arg LPTIM_CLK_SRC_INT: ѡ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ʱ<EFBFBD><EFBFBD>Դ
* @arg LPTIM_CLK_SRC_EXT: ѡ<EFBFBD><EFBFBD><EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ
*/
__STATIC_INLINE uint32_t std_lptim_get_clock_source(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_CKSEL);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param polarity <EFBFBD>ⲿʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_POL_RISING: <EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @arg LPTIM_EXTCLK_POL_FALLING: <EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @arg LPTIM_EXTCLK_POL_BOTH: <EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @note <EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чʱ<EFBFBD><EFBFBD>LPTIMx<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>4<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_external_clk_polarity(LPTIM_t *lptimx, uint32_t polarity)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_CKPOL, polarity);
}
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t LPTIMʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_POL_RISING: <EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @arg LPTIM_EXTCLK_POL_FALLING: <EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @arg LPTIM_EXTCLK_POL_BOTH: <EFBFBD>ⲿʱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
*/
__STATIC_INLINE uint32_t std_lptim_get_external_clk_polarity(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_CKPOL);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param clk_filter <EFBFBD>ⲿʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_NOFLT: <EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_2: 2<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_4: 4<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_8: 8<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @note <EFBFBD>ⲿʱ<EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD><EFBFBD><EFBFBD><EFBFBD><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_lptim_set_extern_clk_filter(LPTIM_t *lptimx, uint32_t clk_filter)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_CKFLT, clk_filter);
}
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ⲿʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD>ⲿʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_NOFLT: <EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_2: 2<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_4: 4<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_EXTCLK_SAMPLETIME_8: 8<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
__STATIC_INLINE uint32_t std_lptim_get_external_clk_filter(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_CKFLT);
}
/**
* @brief ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_encoder_enable(LPTIM_t *lptimx)
{
lptimx->CFG |= LPTIM_CFG_ENC;
}
/**
* @brief <EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_encoder_disable(LPTIM_t *lptimx)
{
lptimx->CFG &= (~LPTIM_CFG_ENC);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param encoder_mode <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
* @arg LPTIM_ENCODER_MODE1: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @arg LPTIM_ENCODER_MODE2: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ2<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @arg LPTIM_ENCODER_MODE3: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_set_encoder_mode(LPTIM_t *lptimx, uint32_t encoder_mode)
{
MODIFY_REG(lptimx->CFG, LPTIM_CFG_CKPOL, encoder_mode);
}
/**
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval uint32_t <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
* @arg LPTIM_ENCODER_MODE1
* @arg LPTIM_ENCODER_MODE2
* @arg LPTIM_ENCODER_MODE3
*/
__STATIC_INLINE uint32_t std_lptim_get_encoder_mode(LPTIM_t *lptimx)
{
return (lptimx->CFG & LPTIM_CFG_CKPOL);
}
/**
* @brief ʹ<EFBFBD><EFBFBD>LPTIMx DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param dma_req LPTIM DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @arg LPTIM_DMA_REQUEST_ARR: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_DMA_REQUEST_CMP: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD>DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_dma_request_enable(LPTIM_t *lptimx, uint32_t dma_req)
{
lptimx->IER |= dma_req;
}
/**
* @brief <EFBFBD><EFBFBD>ֹLPTIMx DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param dma_req LPTIM DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @arg LPTIM_DMA_REQUEST_ARR: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_DMA_REQUEST_CMP: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD>DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
__STATIC_INLINE void std_lptim_dma_request_disable(LPTIM_t *lptimx, uint32_t dma_req)
{
lptimx->IER &= (~dma_req);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIMx DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>״̬
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param dma_req LPTIM DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
* @arg LPTIM_DMA_REQUEST_ARR: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @arg LPTIM_DMA_REQUEST_CMP: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD>DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval bool DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դʹ<EFBFBD><EFBFBD>״̬
* @arg true: DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դʹ<EFBFBD><EFBFBD>
* @arg false: DMA<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ֹ
*/
__STATIC_INLINE uint32_t std_lptim_get_dma_request_status(LPTIM_t *lptimx, uint32_t dma_req)
{
return ((lptimx->IER & dma_req) == dma_req);
}
/**
* @brief ʹ<EFBFBD><EFBFBD>LPTIMx<EFBFBD>ж<EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param interrupt LPTIM<EFBFBD>ж<EFBFBD>Դ
* @arg LPTIM_INTERRUPT_CMPM: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_ARRM: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_EXTTRIG: <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_UP: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵݼ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_DOWN: <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_lptim_interrupt_enable(LPTIM_t *lptimx, uint32_t interrupt)
{
lptimx->IER |= interrupt;
}
/**
* @brief <EFBFBD><EFBFBD>ֹLPTIMx<EFBFBD>ж<EFBFBD>
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param interrupt LPTIM<EFBFBD>ж<EFBFBD>Դ
* @arg LPTIM_INTERRUPT_CMPM: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_ARRM: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_EXTTRIG: <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_UP: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵݼ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_DOWN: <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_lptim_interrupt_disable(LPTIM_t *lptimx, uint32_t interrupt)
{
lptimx->IER &= (~interrupt);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIMx<EFBFBD>ж<EFBFBD>״̬
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param interrupt LPTIM<EFBFBD>ж<EFBFBD>Դ
* @arg LPTIM_INTERRUPT_CMPM: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_ARRM: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_EXTTRIG: <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_UP: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵݼ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
* @arg LPTIM_INTERRUPT_DOWN: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ݼ<EFBFBD><EFBFBD>ж<EFBFBD>
* @retval bool LPTIM<EFBFBD>ж<EFBFBD>Դʹ<EFBFBD><EFBFBD>״̬
* @arg true:<EFBFBD>ж<EFBFBD>ʹ<EFBFBD><EFBFBD>
* @arg false:<EFBFBD>жϽ<EFBFBD>ֹ
*
*/
__STATIC_INLINE bool std_lptim_get_interrupt_status(LPTIM_t *lptimx, uint32_t interrupt)
{
return ((lptimx->IER & interrupt) == interrupt);
}
/**
* @brief <EFBFBD><EFBFBD>ȡLPTIMx״̬<EFBFBD><EFBFBD>־λ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param flag LPTIM״̬<EFBFBD><EFBFBD>־λ
* @arg LPTIM_FLAG_CMPM: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_FLAG_ARRM: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_FLAG_EXTTRIG: <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_FLAG_UP: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵݼ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_FLAG_DOWN: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD>־
*/
__STATIC_INLINE bool std_lptim_get_flag(LPTIM_t *lptimx, uint32_t flag)
{
return ((lptimx->ISR & flag) == flag);
}
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPTIMx״̬<EFBFBD><EFBFBD>־λ
* @param lptimx LPTIM<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param flag LPTIM״̬<EFBFBD><EFBFBD>־λ
* @arg LPTIM_CLEAR_CMPM: <EFBFBD>Ƚ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_CLEAR_ARRM: <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_CLEAR_EXTTRIG: <EFBFBD>ⲿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_CLEAR_UP: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵݼ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
* @arg LPTIM_CLEAR_DOWN: <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_lptim_clear_flag(LPTIM_t *lptimx, uint32_t flag)
{
lptimx->ICR |= flag;
}
/* LPTIM<49><4D>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD> */
void std_lptim_deinit(LPTIM_t *lptimx);
void std_lptim_init(LPTIM_t *lptimx, std_lptim_init_t *lptim_init_param);
/* LPTIM<49><EFBFBD><E1B9B9><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>غ<EFBFBD><D8BA><EFBFBD> */
void std_lptim_struct_init(std_lptim_init_t *lptim_init_struct);
/**
* @}
*/
#ifdef __cplusplus
}
#endif
/**
* @}
*/
/**
* @}
*/
#endif /* CIU32L051_STD_LPTIM_H */