定时器3的定时周期

2019-07-21 01:54发布

我的配置是这样的
// TIM3 configuration
   TIM_TimeBaseStructure.TIM_Period = 5000 ; // 自动重装载寄存器周期的值 ;       50ms进一次中断
   TIM_TimeBaseStructure.TIM_Prescaler = 720; // 设置了用来作为TIM2时钟频率除数的预分频值。      
   TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;  // 设置了时钟分割。  
   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // TIM向上计数模式 ;
   TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); // 初始化TIM2的时间基数单位 ;

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing; // TIM2输出比较时间模式 ;              
   TIM_OCInitStructure.TIM_Pulse = 0x0;  // 设置了待装入捕获比较寄存器的脉冲值。
   TIM_OC1Init(TIM3, &TIM_OCInitStructure);
   
   TIM_Cmd(TIM3, ENABLE); // 使能TIM3外设 ;
  TIM_PrescalerConfig(TIM3, 720, TIM_PSCReloadMode_Immediate); // 设置TIM3预分频为0xEA5F即时装入 ;
   TIM_ClearFlag(TIM3, TIM_FLAG_Update);
   TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); // 使能TIM3中断源 ;
/****************************************************************************************************/
以下是时钟配置
   /* Enable HSE */
   RCC_HSEConfig(RCC_HSE_ON);//8M
   /* Wait till HSE is ready */
   while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);
    /* Enable Prefetch Buffer */
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    /* Flash 2 wait state */
    FLASH_SetLatency(FLASH_Latency_2);

    /* HCLK = SYSCLK */
    RCC_HCLKConfig(RCC_SYSCLK_Div1);
  
    /* PCLK2 = HCLK */
    RCC_PCLK2Config(RCC_HCLK_Div1);
    /* PCLK1 = HCLK/2 */
    RCC_PCLK1Config(RCC_HCLK_Div2);
    /* PLLCLK = 8MHz * 9 = 72 MHz */
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
    /* Enable PLL */
    RCC_PLLCmd(ENABLE);
    /* Wait till PLL is ready */
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
    /* Select PLL as system clock source */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
    /* Wait till PLL is used as system clock source */
    while(RCC_GetSYSCLKSource() != 0x08);

/**************************************************************************/
此时我的定时器中断的周期应该是
【(5000+1)*(720+1)】/72M  大约是50ms进一次中断,但是实际上差不多0.5秒进一次中断 ,请大佬帮我解答一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。