1、void TIM1_DeInit(void) //复位TM1所有寄存器参数
2、使能TIM_1所用时钟 CLK_PeripheralClockConfig(CLK_Peripheral_TIM1, ENABLE)
3、设置定时器周期
函数void TIM1_TimeBaseInit(uint16_t TIM1_Prescaler,
TIM1_CounterMode_TypeDef TIM1_CounterMode,
uint16_t TIM1_Period,
uint8_t TIM1_RepetitionCounter)
第一个参数:定时器的预分频系数 相对于CPU时钟 Fck=Sysclk/(PSCR+1)
第二个参数:计数模式 TIM1_CounterMode_Down 减法计数 TIM1_CounterMode_Up 加法计数
第三个参数:定时周期,
第四个参数:重复计数的次数
1、使能中断 void TIM1_ITConfig(TIM1_IT_TypeDef TIM1_IT, FunctionalState NewState)
第一个参数:中断类型
@arg TIM1_IT_Update: Update(通用中断)
* @arg TIM1_IT_CC1: Capture Compare Channel1
* @arg TIM1_IT_CC2: Capture Compare Channel2
* @arg TIM1_IT_CC3: Capture Compare Channel3
* @arg TIM1_IT_CC4: Capture Compare Channel4
* @arg TIM1_IT_COM: Commutation
* @arg TIM1_IT_Trigger: Trigger
* @arg TIM1_IT_Break: Break
第二个参数:ENABLE or DISABLE
2、使能定时器void TIM1_Cmd(FunctionalState NewState)
ENABLE or DISABLE
中断入口函数: stm8l15x_it.c中
INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_COM_IRQHandler,23)
INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11)
{
TIM1_ClearFlag(TIM1_FLAG_UPDATE);
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』