骆驼-2057964 发表于 2014-3-9 11:40:01

STM8s定时器指导

 求问STM8s如果要实现外部中断以及定时器,是不是还要设置定时器的优先级才行?为什么我的定时器不起作用呀?

那片清茶 发表于 2014-3-9 12:57:03

回复:STM8s定时器指导

 把初始化的代码贴上来看看。

骆驼-2057964 发表于 2014-3-9 13:18:59

回复:STM8s定时器指导

回复第 2 楼 于2014-03-09 12:57:03发表:
 把初始化的代码贴上来看看。
        TIM4_TimeBaseInit(TIM4_PRESCALER_2, 0xff);
  /* Clear TIM4 update flag */
  TIM4_ClearFlag(TIM4_FLAG_UPDATE);
       
       /* Enable update interrupt */
        TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
        ITC_SetSoftwarePriority(ITC_IRQ_TIM4_OVF, ITC_PRIORITYLEVEL_2);
 
        TIM4_Cmd(ENABLE);
其实单独把定时器写一个程序时已经可以的了,但是就是同时加入外部中断以及定时器时就变成定时器不能工作,外部中断能够工作
 

那片清茶 发表于 2014-3-10 09:35:08

回复:STM8s定时器指导

 应该是没问题的呀,即使你不是设置优先级,按照默认优先级来的话,应该也没问题的。

木头子 发表于 2014-3-10 20:01:37

回复:STM8s定时器指导

回复第 3 楼 于2014-03-09 13:18:59发表:
回复第 2 楼 于2014-03-09 12:57:03发表:
 把初始化的代码贴上来看看。
TIM4_TimeBaseInit(TIM4_PRESCALER_2, 0xff);
  /* Clear TIM4 update flag */
  TIM4_ClearFlag(TIM4_FLAG_UPDATE);
 
/* Enable update interrupt */
TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
ITC_SetSoftwarePriority(ITC_IRQ_TIM4_OVF, ITC_PRIORITYLEVEL_2);
 
TIM4_Cmd(ENABLE);
其实单独把定时器写一个程序时已经可以的了,但是就是同时加入外部中断以及定时器时就变成定时器不能工作,外部中断能够工作
 

 

看下外部中断有没有问题,可能是执行外部中断后没有跳出来。你可以试试单独调试外部中断看看。另外也建议看看外部中断优先等级。
页: [1]
查看完整版本: STM8s定时器指导