Electricity/FWLIB/source/ENS1_EXTI.c

82 lines
1.8 KiB
C
Raw Normal View History

/*
*Copyright ,2023 , NANOCHAP
*File name: ENS1_EXTI.C
*Author:
*Version: V1.0
*Date: 2023-11-
*Description:
*Function List:
History:
1.V1.0
Date:
Author:
Modification: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
#include "ENS1_EXTI.h"
/*ÿһλ<D2BB><CEBB><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ʹ<EFBFBD><CAB9><><CAA7><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>жϵ<D0B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD> 0-29*/
void EXTI_RisingTriggerSelect(EXTI_NUM NUM , FunctionalState newstate)
{
if(newstate == ENABLE)
CMSDK_EXTI->RTSR |= (1<<NUM);
else
CMSDK_EXTI->RTSR &=~ (1<<NUM);
}
/*ÿһλ<D2BB><CEBB><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ʹ<EFBFBD><CAB9><><CAA7><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>жϵ<D0B6><CFB5>½<EFBFBD><C2BD>ش<EFBFBD><D8B4><EFBFBD> 0-29*/
void EXTI_FallingTriggerSelect(EXTI_NUM NUM , FunctionalState newstate)
{
if(newstate == ENABLE)
CMSDK_EXTI->FTSR |= (1<<NUM);
else
CMSDK_EXTI->FTSR &=~ (1<<NUM);
}
/*<2A><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ã<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ijһλ<D2BB><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д 0-29*/
void EXTI_SoftwareInterruptEventSet(EXTI_NUM NUM)
{
CMSDK_EXTI->SWIER |= (1<<NUM);
}
/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
bool Read_EXTI_RisingEdgePending(EXTI_NUM NUM)
{
return (bool)((CMSDK_EXTI->RISE_PEND_STS >> NUM ) & 0x1);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><D8B4><EFBFBD>״̬
void Clear_EXTI_RisingEdgePending(EXTI_NUM NUM)
{
CMSDK_EXTI->RISE_PEND_CLR |= (1<<NUM);
}
/*<2A><>ȡ<EFBFBD>½<EFBFBD><C2BD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>½<EFBFBD><C2BD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
bool Read_EXTI_FallingEdgePending(EXTI_NUM NUM)
{
return (bool)((CMSDK_EXTI->FALL_PEND_STS >> NUM) & 0x1);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD>ش<EFBFBD><D8B4><EFBFBD>״̬
void Clear_EXTI_FallingEdgePending(EXTI_NUM NUM)
{
CMSDK_EXTI->FALL_PEND_CLR |= (1<<NUM);
}
/*<2A><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>CPU<50><55><EFBFBD>ж<EFBFBD><D0B6>ߣ<EFBFBD>0<EFBFBD><30><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>ε<EFBFBD><CEB5>жϻ<D0B6><CFBB><EFBFBD> 1<><31><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5>жϻ<D0B6><CFBB>ѣ<EFBFBD>0-31*/
void EXTI_INT_MASK(uint8_t NUM)
{
if(NUM >31)
return ;
CMSDK_EXTI->IMR |= (1<<NUM);
}
/*<2A><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <20>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD>CPU 0-31 */
void EXTI_EVENT_MASK(uint8_t NUM)
{
if(NUM >31)
return ;
CMSDK_EXTI->EMR |= (1<<NUM);
}