STM8S TIM4

2019-07-19 21:53发布

STM8S TIM4 不能定时1us吗?
void TIM4_Config(void)
{
  /* Time base configuration */
// TIM4_TimeBaseInit(TIM4_PRESCALER_128, TIM4_PERIOD);// TIM4_PRESCALER_128 -->>TIM4_PRESCALER_8 TIM4_PERIOD 有124 -->>1
  TIM4_TimeBaseInit(TIM4_PRESCALER_4, 3); //用来产生us级1
  /* 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);
}
这样程序会死在  TIM4_Cmd(ENABLE);里。如果用TIM4_TimeBaseInit(TIM4_PRESCALER_128, 124);
TIM4_PERIOD 有124 -->>1 产生1ms可以正常。

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