OpenEdv-开源电子网

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

关于“更新中断”和“触发中断”的理解

[复制链接]

22

主题

105

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2012-8-24
在线时间
0 小时
发表于 2013-2-25 20:03:51 | 显示全部楼层 |阅读模式
什么是更新中断?什么是触发中断?
 void Timerx_Init(u16 arr,u16 psc)
{
 RCC->APB1ENR|=1<<1;//TIM3时钟使能   
  TIM3->ARR=arr;  //设定计数器自动重装值//刚好1ms   
 TIM3->SC=psc;  //预分频器7200,得到10Khz的计数时钟
 //这两个东东要同时设置才可以使用中断
 TIM3->DIER|=1<<0;   //允许更新中断    
// TIM3->DIER|=1<<6;   //允许触发中断   
 TIM3->CR1|=0x01;    //使能定时器3
   MY_NVIC_Init(1,3,TIM3_IRQChannel,2);//抢占1,子优先级3,组2         
}
以上是原子开发板关于定时器中断实验的通用定时器初始化代码
我发现 实现原子哥的例程只要“TIM3->DIER|=1<<0;   //允许更新中断  ”这句就行,TIM3->DIER|=1<<6触发中断允许与否没有任何影响。
(原子哥的本例程是用TIM3的中断来控制DS1的亮灭)
我不理解什么是更新中断?什么是触发中断?谁能结合这个例程跟我讲几句。。先谢谢各位大虾!
有进步就好!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-2-25 20:14:35 | 显示全部楼层
这里是不用同时开启,我的那个注释不正确。不好意思啊。

更新中断,比如CNT的值计数到ARR的时候,需要重新装载CNT(也就是所谓的更新),那么就可以触发更新中断。
触发中断,比如输入捕获的时候,当触发脉冲出现的时候,那么就可以引起触发中断。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 2 反对 0

使用道具 举报

31

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
276
金钱
276
注册时间
2010-12-14
在线时间
5 小时
发表于 2013-6-5 21:57:52 | 显示全部楼层
论坛真是越来越强大了,什么问题都有了。支持openedv下!
回复 支持 1 反对 0

使用道具 举报

230

主题

1950

帖子

10

精华

论坛元老

Rank: 8Rank: 8

积分
4562
金钱
4562
注册时间
2010-12-14
在线时间
32 小时
发表于 2013-6-5 23:41:09 | 显示全部楼层
回复【3楼】shilang0304:
---------------------------------
STM32这一块我们论坛排名还是挺靠前的。
主要是因为原创的问题以及资料多。。。所以搜索引擎也偏爱。。
我是开源电子网?网站管理员,对网站有任何问题,请与我联系!QQ:389063473Email:389063473@qq.com
回复 支持 反对

使用道具 举报

86

主题

984

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1850
金钱
1850
注册时间
2013-4-15
在线时间
163 小时
发表于 2013-6-27 10:59:07 | 显示全部楼层
强大……新手的导师,好人一生平安!!!!
合肥-文盲
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2013-6-22
在线时间
3 小时
发表于 2013-6-27 15:22:28 | 显示全部楼层
帮顶,正是我需要的!
千磨万击还坚劲,任尔东西南北风
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2015-2-2
在线时间
28 小时
发表于 2015-2-2 12:01:00 | 显示全部楼层
请问原子大哥,我在用STM32F4的定时器5触发中断去触发DAC,DAC用DMA输出的,单独工作正常,这时再打开更新中断,更新中断里读ADC数据。。
中断也能进去的,单独的在更新中断里读ADC,也是正常的。。
现在问题是,如一个1024字节缓冲,
DAC从缓冲0开始输出,ADC从512开始采集。。。结果就是数据会不连续。不知是不是有什么冲突。
回复 支持 反对

使用道具 举报

6

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2019-12-12
在线时间
9 小时
发表于 2020-3-22 10:14:17 | 显示全部楼层
正点原子 发表于 2013-2-25 20:14
这里是不用同时开启,我的那个注释不正确。不好意思啊。

更新中断,比如CNT的值计数到ARR的时候,需要重新 ...

如果想用编码器模式是不是也得开启触发中断
技术宅
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-7-10
在线时间
3 小时
发表于 2021-1-14 15:21:47 | 显示全部楼层
正点原子 发表于 2013-2-25 20:14
这里是不用同时开启,我的那个注释不正确。不好意思啊。

更新中断,比如CNT的值计数到ARR的时候,需要重新 ...

请问触发中断什么时候需要开启
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-30 10:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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