你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

不知道为什么,STM8S的TIM4一直进不了中断

[复制链接]
show明 提问时间:2015-4-28 17:47 /
本帖最后由 show明 于 2015-4-28 17:48 编辑


#include "tim4.h"
#include "led.h"

void TIM4_IT_UPDATE_Init(void)
{
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, ENABLE);

  TIM4_DeInit();//复位定时4

  ////128分频,自动重装载值125,16Mhz/(128*125)=1Khz
  TIM4_TimeBaseInit(TIM4_PRESCALER_128, 0x7D);
  TIM4_SetCounter(0x7D);
////  TIM4_ARRPreloadConfig(ENABLE);        //自动重装
//  TIM4_UpdateDisableConfig(DISABLE);    //运行计数器溢出更新
//  TIM4_UpdateRequestConfig(TIM4_UPDATESOURCE_REGULAR);
  TIM4_ClearFlag(TIM4_FLAG_UPDATE);     //清楚更新标志位
  TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);//更新中断使能


  TIM4_Cmd(ENABLE);//使能定时器4
}

#pragma vector=0x19
__interrupt void TIM4_OVR_UIF_IRQHandler(void)//对应IAP的中断地址:0x8060
{

  int count=0;//每1ms进入一次中断
  count++;
//  GPIO_WriteReverse(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS);
  if(count==1000)//1s中转换一次
  {
    GPIO_WriteReverse(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS);
  }
  TIM4_ClearITPendingBit(TIM4_IT_UPDATE);

}



一直进不了中断,在线调试发现,TIM4->SR中的中断标志位UIF=1后,就一直没有被清楚,说明一直没有进中断。。。麻烦各位大侠帮忙解答一下,STM8S的资料实在是太少了。。。手册都写的很模糊。。。

77b1a4a7cb9e1e078b5aa419bfca4993_712.png
收藏 评论4 发布时间:2015-4-28 17:47

举报

4个回答
show明 回答时间:2015-4-29 08:31:20
没有哪位大哥能帮忙解答一下吗?自己顶一下
奶牛咖啡2012 回答时间:2015-4-29 11:08:20
_asm("rim");开总中断
show明 回答时间:2015-5-1 15:38:39

我在主函数中已经开了总中断了。。。
show明 回答时间:2015-5-1 17:08:47
show明 发表于 2015-5-1 15:38
我在主函数中已经开了总中断了。。。

已经改为寄存器编写了,可以进中断了,谢谢大家了。。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版