jackyang0507 发表于 2018-12-24 09:04:39

STM8S TIM4 D定时问题

最近看一个定时程序按键开机25分钟倒计时,使用TM4 定时,但实际测试只有3分钟左右,请高手指点一下:
#define   WORKING_TIME((25*60*200L)-(10*200L) ) 定时25分钟
void clock_init(void)
{
      
      CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
      
}
void time4_init(void)
{
      TIM4_DeInit();
      TIM4_TimeBaseInit(TIM4_PRESCALER_128,125);//1MS基准时间 16M内部晶振
      TIM4_ITConfig(TIM4_IT_UPDATE,ENABLE);
      TIM4_Cmd(ENABLE);
}

void work_time_handle(void)
{
      if(work_flag)
                {
                        ++working_time;
                        if(working_time>WORKING_TIME)
                              {
                                        working_time=0;
                                        key_zhi=KEY_POWER;
                              }
                }
}

Kevin201707 发表于 2018-12-24 10:08:04

溢出了吧?

jackyang0507 发表于 2018-12-24 10:22:04

这个不会溢出,因为后面L代表是长整型。 u32   working_time;
页: [1]
查看完整版本: STM8S TIM4 D定时问题