STM8系列单片机定时器操作

Posted on 2018-01-10 16:09  明寒秋  阅读(1682)  评论(0)    收藏  举报

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);
}

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3