8448|16

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM32自带定时器中断例子中没有中断处理程序?? [复制链接]

                                 小弟困惑了好几天了,我想用定时器周期地产生中断,就算没找到中断处理程序,倒是看到很多很多的中断申请,这些中断申请,被批准执行的话,执行什么中断呢?如果不要中断申请,应该也可以直接处理中断的啊?哪位高手能告诉我STM32里通用定时器的中断处理函数是什么啊,最好是发个类似的例子出来,谢谢!
此帖出自stm32/stm8论坛

最新回复

                                 可以 进入中断,我也是今天才解决的,我以前用的是IAR4.41EK版里面cortex-m3核,但编译后不能调试stm32,换成IAR4.42的同样的程序就可以进入中断了。   详情 回复 发表于 2008-3-4 20:54
点赞 关注
 

回复
举报

61

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

STM32定时器周期地产生中断的例子

                                 ST的软件库里没有这个例子, 我为一些客户写的一个例程,你看看是不是适合你。 
此帖出自stm32/stm8论坛
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

晕!不登录不允许链接文件!!!

STM32定时器周期地产生中断的例子,欢迎批评指正!
相关链接:https://bbs.eeworld.com.cn/upfiles/img/20082/2008227164033357.zip
此帖出自stm32/stm8论坛
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 

回复ST_ARM:你的例子怎么产生中断??

感谢ST_ARM,但是我还有些问题哈。你的例子好像也是用的IRQHandler,我把你的例子写进工程中,运行,发现
TIM2_IRQHandler函数程序没有被运行啊,工程运行没有任何反应,没有中断产生。怎么才能产生中断呢?
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 

ST的MCU定时器的使用

关于ST的MCU定时器的使用问题,请查阅以前的帖子,里面我门做了详尽的描述,至于我的代码:
     TIM_Configuration(); // 改函数中初始化了Tim的相关寄存器,开启输出比较中断。
     NVIC_Configuration(); // 开启了Tim的中断

你的程序没有运行,是因为你的项目的设置有问题。

此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 

回复ST_ARM:你的例子怎么产生中断??

                                 谢谢啦,我再找找了。
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

7
 

给你贴个我的程序,定时1秒扫描AD的,希望对你有用

void SetupTIM (void)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
//    NVIC_InitTypeDef NVIC_InitStructure;  


  /* Time base configuration */
  TIM_TimeBaseStructure.TIM_Period = 720;          
  TIM_TimeBaseStructure.TIM_Prescaler = 50000;       
  TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;    
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; 
  
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

  TIM2->CR1|=(1<<3)|(1<<2);       //单脉冲模式


  /* TIM IT enable */
  TIM_ITConfig(TIM2,  TIM_IT_Update  , ENABLE);

  
      
}
void StartTIM(void)
{
    /* TIM2 enable counter */
      TIM_Cmd(TIM2, ENABLE);    
}
void SetupNVIC(void){ 
  NVIC_InitTypeDef  NVIC_InitStructure;
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);         //中断向量表
  NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;          //tim2
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);

void TIM2_IRQHandler(void)
{
    
    TIM_ClearITPendingBit(TIM2, TIM_IT_Update);//必须加
    StartTIM();
              
}
好了,主程序中别忘了开启TIM的时钟,剩下的自己写吧。
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 

请问harlemjia :

加中断处理程序是加在 starttim 函数里面吗?
还是加在  TIM2_IRQHandler  里面?应该是后者吧。
此帖出自stm32/stm8论坛
 
 
 

回复

94

帖子

0

TA的资源

一粒金砂(中级)

9
 

请问楼主读过我提供的代码吗?

                                 如果没有去看一看。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

10
 

回复ST_ARM:我看过您的代码

                                 热心的ST_ARM,您好。您的代码我当然看过,我把他们加入工程里,运行的结果仍然是 TIM2_IRQHandler 函数没有被运行(我再里面设了断点,结果断点根本没断,一直在运行主函数里的死循环)。我也很想知道为什么?我的项目的设置用的默认的,我也不知道问题在哪?您的代码,我也感觉应该是能够产生中断的啊。请问:您用那个代码产生了中断吗?
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

11
 

加在TIM2_IRQHander里

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

12
 

回复主题:STM32自带定时器中断例子中没有中断处理程序??

我也遇到同样的问题,就是进不了中断,一直在死循环。
我也运行过7楼的代码,也进不了中断,我现在怀疑是不是我的IAR没配置好。
10楼的现在你解决问题了吗?
请大家帮忙指教啊,谢谢!
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

13
 

还没好使啊 ??

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

14
 

回13楼:还没搞定。

                                 都想了1周了,始终不知道为什么。我没连硬件,只用软件调试。请问阁下:你用你的代码产生了中断吗?中断时程序会跳到 TIM2_IRQHandler() 吧?
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

15
 

回复12楼:我还没搞定。

                                 我们两难兄难弟,谁先解决这个问题了,交流下哈。
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

16
 

产生了啊 ,会调过去啊 ,硬件上也试过了

                                   你在好好看看我和3楼给你的代码
此帖出自stm32/stm8论坛
 
 
 

回复

93

帖子

0

TA的资源

一粒金砂(初级)

17
 

回复主题:STM32自带定时器中断例子中没有中断处理程序?

                                 可以 进入中断,我也是今天才解决的,我以前用的是IAR4.41EK版里面cortex-m3核,但编译后不能调试stm32,换成IAR4.42的同样的程序就可以进入中断了。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表