OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6806|回复: 4

用STM8S003进入TIM4中断后不能对UIF清0,死循环在TIM4中断里。

[复制链接]

35

主题

89

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2015-3-2
在线时间
34 小时
发表于 2015-11-3 12:01:37 | 显示全部楼层 |阅读模式
5金钱
用STM8S003进入TIM4中断后不能对UIF清0,死循环在TIM4中断里面,请高手来解决。。谢谢。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

35

主题

89

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2015-3-2
在线时间
34 小时
 楼主| 发表于 2015-11-3 12:02:44 | 显示全部楼层
当进入TIM4中断后,用单步执行还是没法清0 UIF标致,把程序贴片

void TIM4_Configuration(void)

  /*
   TIM4_TimeBaseInit(TIM4_PRESCALER_128 ,200);   //煦?128   RES=200
   TIM4_ARRPreloadConfig(ENABLE);         //赻雄蚾婥妏夔
   TIM4_PrescalerConfig(TIM4_PRESCALER_128,TIM4_PSCRELOADMODE_IMMEDIATE);
   TIM4_SetAutoreload(200);
   TIM4_Cmd(ENABLE);   //數杅?妏夔                
   TIM4_ITConfig(TIM4_IT_UPDATE,ENABLE);    //笢剿羲宎
  */

  TIM4->IER=0x00;//輦砦笢剿
  TIM4->EGR=0X01;//埰勍奀夔載陔岈璃
  TIM4->SCR=0x07;// 數杅?奀笘=翋奀笘/128=16MHZ/128=125KHZ=8us
  TIM4->ARR=51;//赻雄蚾婥硉˙隅奀笚?=8us*51=408us
  TIM4->CNTR=51;//數杅?場硉
  TIM4->CR1=0x01;//奀夔數杅?

}



INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)    //隅奀21.2US
{
  /* In order to detect unexpected events during development,
     it is recommended to set a breakpoint on the following instruction.
  */


       //TimingDelay_Decrement();
       TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
       TIM4->SR1 &=0xfe;

}


int main(void)
{
        
        /* 扢离俋窒16M儒淥峈炵苀翋奀笘 */ 
        SystemClock_Init(HSE_Clock);
        Key_Init();
        LED_Init();

        Tim1_Init();     //PC1~4岆PWM 怀堤

        TIM4_Configuration();


        enableInterrupts();        /* 羲?軞笢剿 */



        while (1)
        {


           Operation();



        }
}



回复

使用道具 举报

38

主题

2061

帖子

6

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3273
金钱
3273
注册时间
2012-1-16
在线时间
37 小时
发表于 2015-11-3 13:44:30 | 显示全部楼层
是不是底层的库函数有BUG,查下寄存器,用寄存器操作试试
站在巨人的肩膀上不断的前进。。。
回复

使用道具 举报

35

主题

89

帖子

0

精华

初级会员

Rank: 2

积分
184
金钱
184
注册时间
2015-3-2
在线时间
34 小时
 楼主| 发表于 2015-11-3 14:13:14 | 显示全部楼层
回复【3楼】xiaoyan:
---------------------------------
 TIM4->SR1 &=0xfe;直接用这个都不行,真搞不懂。
回复

使用道具 举报

1

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-12-28
在线时间
7 小时
发表于 2018-5-6 16:15:04 | 显示全部楼层
虽然坟了好久,但我还是想问下楼主,这个问题解决了吗?我也遇到了同样的问题,有可能是一个问题,楼主当时有没有看TIM4的时钟是否还是使能的?因为TIM4外设时钟关闭了,所以对TIM4的寄存器操作都是无效的,但为什么会产生这个问题我就不清楚了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 19:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表