simplegui/Transplant/MiniDevCore/BSP/src/base_timer.c
Meco Man 9ab116625b 代码格式整理
将tab键替换为空格
删除每行末尾无用的空格

# Conflicts:
#	DemoProc/src/DemoProc.c
#	GUI/inc/SGUI_Basic.h
#	GUI/inc/SGUI_Typedef.h
#	GUI/src/SGUI_Basic.c
#	GUI/src/SGUI_Curve.c
#	GUI/src/SGUI_Text.c
2022-10-26 15:20:16 +08:00

61 lines
2.8 KiB
C

#include "base_timer.h"
#define TIMER_REV_INT_CBPF_DEFINE(TIMER, INIT) static TIMER_INT_FP TIMER##_INIT_CALLBACK = (INIT)
#define TIMER_REV_INT_CFG_DEFINE(TIMER) void TIMER##_ConfigReceiveInterrupt(TIMER_INT_FP pfCallBack, int iPreemptionPriority, int SubPriority)\
{\
NVIC_InitTypeDef NVIC_InitStructure;\
NVIC_InitStructure.NVIC_IRQChannel = TIMER##_IRQn;\
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=iPreemptionPriority;\
NVIC_InitStructure.NVIC_IRQChannelSubPriority = SubPriority;\
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;\
NVIC_Init(&NVIC_InitStructure);\
TIMER##_INIT_CALLBACK = pfCallBack;\
}
#define TIMER_REV_INT_SRV_DEFINE(TIMER) void TIMER##_IRQHandler(void)\
{\
if (TIM_GetITStatus(TIMER, TIM_IT_Update) != RESET)\
{\
TIM_ClearITPendingBit(TIMER, TIM_IT_Update);\
if(NULL != TIMER##_INIT_CALLBACK)\
{\
TIMER##_INIT_CALLBACK();\
}\
}\
}
TIMER_REV_INT_CBPF_DEFINE(TIM3, NULL);
TIMER_REV_INT_CFG_DEFINE(TIM3);
TIMER_REV_INT_SRV_DEFINE(TIM3);
TIMER_REV_INT_CBPF_DEFINE(TIM4, NULL);
TIMER_REV_INT_CFG_DEFINE(TIM4);
TIMER_REV_INT_SRV_DEFINE(TIM4);
void BASE_TIMER_Initialize(TIM_TypeDef* pstTimerBase, uint16_t uiReloadValue, uint16_t uiPrescaler)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Configure timer data. */
TIM_TimeBaseStructure.TIM_Period = uiReloadValue;
TIM_TimeBaseStructure.TIM_Prescaler = uiPrescaler;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(pstTimerBase, &TIM_TimeBaseStructure);
}
void BASE_TIMER_ActiveInterrupt(TIM_TypeDef* pstTimerBase, bool bEnable)
{
TIM_Cmd(pstTimerBase, DISABLE);
if(true == bEnable)
{
TIM_ITConfig(pstTimerBase,TIM_IT_Update, ENABLE);
}
else
{
TIM_ITConfig(pstTimerBase,TIM_IT_Update, DISABLE);
}
TIM_Cmd(pstTimerBase, ENABLE);
}