【求助】最近刚接触STM8L 使用官方例程TIM4的定时老是跑不不过去 求解答

2019-07-19 20:29发布

[mw_shl_code=c,true]#include "timer.h"

__IO uint32_t TimingDelay;
  
void CLK_Config(void)
{
  /* High speed internal clock prescaler: 1 */
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);

  /* Select HSE as system clock source */
  CLK_SYSCLKSourceSwitchCmd(ENABLE);
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSE);

  while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSE)
  {}

  /* Enable TIM4 CLK */
  CLK_PeripheralClockConfig(CLK_Peripheral_TIM4, ENABLE);
}

void TIM4_Config(void)
{


  /* Time base configuration */
  TIM4_TimeBaseInit(TIM4_Prescaler_128, TIM4_PERIOD);
  /* Clear TIM4 update flag */
  TIM4_ClearFlag(TIM4_FLAG_Update);
  /* Enable update interrupt */
  TIM4_ITConfig(TIM4_IT_Update, ENABLE);
  /* enable interrupts */
  enableInterrupts();

  /* Enable TIM4 */
  TIM4_Cmd(ENABLE);
}

void Delay(__IO uint32_t nTime)
{
  TimingDelay = nTime;

  while (TimingDelay != 0);
}

void TimingDelay_Decrement()
{
  if (TimingDelay != 0x00)
  {
    TimingDelay--;
  }
}

INTERRUPT_HANDLER(TIM4_UPD_OVF_TRG_IRQHandler,25)
{
    TimingDelay_Decrement();
}
[/mw_shl_code][mw_shl_code=c,true]#include "bsp.h"
#include "timer.h"
//#include "beep.h"



void main(void)
{
  
  CLK_Config();
  TIM4_Config();
  
   
  
  while (1)
  {
    LED1(ON);
    Delay(500);
    LED1(OFF);
    Delay(500);
  }
}


[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。