1234567891011121314151617181920212223242526272829303132 |
- #include "time.h"
- void TIM_Mod_Config(void(*ClockCmd)(uint32_t, FunctionalState), u32 RCC_APBnPeriphn,TIM_TypeDef *TIMx, u16 psc, u16 per, u8 pre, u8 sub)
- {
- (*ClockCmd)(RCC_APBnPeriphn, ENABLE);
-
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
- TIM_TimeBaseStructure.TIM_Prescaler = psc;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseStructure.TIM_Period = per;
- TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
- TIM_TimeBaseInit(TIMx,&TIM_TimeBaseStructure);
-
- TIM_ARRPreloadConfig(TIMx, ENABLE);
- TIM_SelectOutputTrigger(TIMx, TIM_TRGOSource_Update);
-
- TIM_ITConfig(TIMx, TIM_IT_Update, ENABLE);
- TIM_Cmd(TIMx, ENABLE);
- }
- void TIM_NVIC_Config(u8 NVIC_IRQChannel, u8 pre, u8 sub)
- {
- NVIC_InitTypeDef NVIC_InitStructure;
- NVIC_InitStructure.NVIC_IRQChannel = NVIC_IRQChannel;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = pre;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = sub;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init(&NVIC_InitStructure);
- }
|