OpenEdv-开源电子网

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

关于stm32f103rbt6 定时器1中断不能进入,求解方法?

[复制链接]

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
发表于 2014-2-27 13:32:38 | 显示全部楼层 |阅读模式
关于stm32f103rbt6 定时器1中断不能进入,求解方法?

我用KEIL4测试实验工程1的时候,发现定时器1的匹配中断进入不了,只能进入溢出中断。
测试实验工程2的时候,发现定时器1的匹配中断能够进入,溢出中断也能够进入。
相同配置下,不知道为什么实验工程1会出现问题?



实验工程2.rar

1.25 MB, 下载次数: 964

实验工程1.rar

2.43 MB, 下载次数: 370

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

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-2-27 17:12:59 | 显示全部楼层
帮顶,相同配置找不同吧....
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

17

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
181
金钱
181
注册时间
2013-10-9
在线时间
0 小时
发表于 2014-2-27 17:49:30 | 显示全部楼层


回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-2-27 20:35:15 | 显示全部楼层
回复【3楼】龙腾宵云:
---------------------------------
能解释一下问题的原因吗?具体该怎么改?
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-2-27 20:38:17 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
当你在测试实验工程1的时候,你把溢出中断的while注释掉,你会发现程序先执行溢出中断,然后会执行匹配中断。
当你再改中断优先级管理,让匹配中断先执行,不会有变化。求解问题的根源。
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-2-27 20:47:42 | 显示全部楼层
虽然不太明白你的意思,但是改中断优先级并不能决定哪个中断先执行,只让高优先级的能打断低优先级。。。。。

楼上意思是你没有置位TIE(触发中断使能)
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-2-27 21:01:18 | 显示全部楼层
回复【6楼】745021926:
---------------------------------
我把匹配中断优先级配高,可是也不能打断低优先级。
还有我把触发使能位开没开,都是一样的。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-2-28 15:03:18 | 显示全部楼层
回复【7楼】xyzxyzxyz:
---------------------------------
同一个问题不要发多个帖子!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-1 19:26:49 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
原子哥,能对我这个问题给个解释吗?挺困惑的。
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-1 21:04:55 | 显示全部楼层
回复【6楼】745021926:
---------------------------------
我看到原子哥有说过触发中断是在定时器的复位模式下使用的,所以这里不需要开启吧。。
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-1 21:05:30 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
原子哥,我记得你有说过触发中断是在定时器的复位模式下使用的,所以这里不需要开启吧。
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-1 21:30:12 | 显示全部楼层


博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-1 21:58:00 | 显示全部楼层
回复【11楼】xyzxyzxyz:
---------------------------------
不用
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-2 11:50:52 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
单独测试实验工程1的溢出更新中断,匹配中断,都是没有问题的。而当我两个同时放在一起测试,修改中断优先级管理器的时候,不能抢占,那是为什么?
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-2 12:16:09 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
我想请问 当我对TIM1_CC_IRQn进行go to difinition of 的时候,跳出这个Browser 是什么原因?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-2 16:53:45 | 显示全部楼层
回复【15楼】xyzxyzxyz:
---------------------------------
有多个匹配的地方。

回复【14楼】xyzxyzxyz:
---------------------------------
MY_NVIC_Init(0,2,TIM1_UP_IRQChannel,2);//抢占1,子优先级2,组2
MY_NVIC_Init(0,1,TIM1_CC_IRQChannel,2);//抢占0,子优先级1,组2
这里你设置的抢占优先级一样,自然不能互相打断啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-2 17:47:43 | 显示全部楼层
回复【16楼】正点原子:
-------------------------------
多个匹配=重复定义吗?这样算是错的吗?该怎么解决?
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-2 18:01:23 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
一问:
MY_NVIC_Init(0,2,TIM1_UP_IRQChannel,2);//抢占0,子优先级2,组2
MY_NVIC_Init(0,1,TIM1_CC_IRQChannel,2);//抢占0,子优先级1,组2
这里抢占优先级一样,可是响应优先级TIM1_CC_IRQChannel比较高,那是不是应该先响应;
当然若是TIM1_UP_IRQChannel先产生中断,则不能打断,反问:该如何判断谁先产生中断?
二问:
MY_NVIC_Init(1,2,TIM1_UP_IRQChannel,2);//抢占1,子优先级2,组2
MY_NVIC_Init(0,1,TIM1_CC_IRQChannel,2);//抢占0,子优先级1,组2
如果改成这样,实验工程1也没发生变化,仍然是在执行TIM1_UP_IRQChannel中断,另一个中断进入不了,求解原因?
三问:
MY_NVIC_Init(1,2,TIM1_UP_IRQn,2);//抢占1,子优先级2,组2
MY_NVIC_Init(0,1,TIM1_CC_IRQn,2);//抢占0,子优先级1,组2
实验工程1是利用stm32f10x.h,实验工程2是利用stm32f10x_lib.h
TIM1_UP_IRQChannel应该改成TIM1_UP_IRQn,没错吧?
可是实验工程1这样改了以后,中断优先级管理器仍然显示不了作用。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-2 20:54:03 | 显示全部楼层
回复【18楼】xyzxyzxyz:
---------------------------------
问题不少,先看教程。
我们的教程关于SYSTEM文件夹介绍,中断部分。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
 楼主| 发表于 2014-3-2 21:22:36 | 显示全部楼层
回复【19楼】正点原子:
---------------------------------
看了,但针对实验工程1的问题,没想到解决方法。请教原子哥了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-14 07:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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