打印

STM32中断

[复制链接]
7005|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
running_li|  楼主 | 2007-11-27 21:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近接触这款芯片,今天在看TIM中断的时候发现通用TIM的对应的中断向量只有一个,它的一个TIM有4个通道啊,在向量表中怎么只有一个中断向量呢?我以前遇到的每个通道都会有对应的中断函数的。如TIM1_channel1,TIM1_channel2....  在计数器计满后还有溢出中断的,这里的是不是没?好象它总是要autoload是不是?
有没有人知道帮我回答一下,先谢了!

沙发
浪淘沙| | 2007-11-28 16:36 | 只看该作者

你以前遇到的每个通道都会有对应的中断函数的是哪一款产

首先,不同的产品肯定有不同的处理方式,但都可以完成相同的任务。区别是有可能效率不同。

其次,STM32使用的Cortex-M3核心使用了内置的中断控制器,与以前的ARM7或ARM9的那种外置中断控制器的设计相比,中断处理更快更有效。

第三,STM32的通用定时器中有中断标志寄存器,每个中断源都有对应的标志状态位,可以十分方便地判断中断源并进行处理。


你这段话我没有看懂“在计数器计满后还有溢出中断的,这里的是不是没?好象它总是要autoload是不是?”,请解释一下;或能够说明你想实现什么样的功能,这样讨论起来更容易。注意:不同的芯片因为内部结构的不同,不能简单地在一种芯片上搬用另一种芯片的处理方式。

使用特权

评论回复
板凳
浪淘沙| | 2007-11-28 16:47 | 只看该作者

有一个重要概念要澄清

楼主说:“今天在看TIM中断的时候发现通用TIM的对应的中断向量只有一个,它的一个TIM有4个通道啊,在向量表中怎么只有一个中断向量呢?我以前遇到的每个通道都会有对应的中断函数的。”

“每个通道都会有对应的中断函数”与“向量表中只有一个中断向量”没有必然的联系。每个中断向量可以对应一个中断函数,但这个中断函数不一定只对应一个通道;通常的处理是在这个中断向量直接转入的中断函数中判断中断源,再分别调用对应通道的处理函数,如你所提到的:TIM1_channel1,TIM1_channel2.... 

以前的ARM7或ARM9的那种外置中断控制器的设计中只有IRQ和FIQ两个中断向量,不可能像你说的那样每个通道有一个中断向量,除非你关于中断向量的定义与我说的不一样。

使用特权

评论回复
地板
running_li|  楼主 | 2007-11-29 09:59 | 只看该作者

谢谢解答!

感谢浪淘沙的回复!!!
因为之前我看的是中文版的datasheet,看的比较粗。昨天将中英文认真的对照着看,发现有些是我的理解的错误,也是你说没看懂那个,我就不说了那了。但是“向量表中只有一个中断向量”的那个问题还有点不明白。我就详细说下我的不明白之处。在STM32中,每个通用的TIM有4个channel,如channel1,channel2...。在中断向量表中每个TIM只有一个全局向量,如TIM2对应TIM2_IRQHandler。我查了一下用法,是你说的每个channel的中断都到这个全局向量的函数中,然后在全局向量的函数中找对应的channel。我想知道的是当channel1进入中断还没跳出,channel2也有中断来,如果判断channel2有无中断的语句即if (TIM_GetITStatus(TIM2, TIM_IT_CC2) != RESET) 已经执行,是不是接下来再进一次TIM2_IRQHandler?如果还没执行,是不是就不用再进TIM2_IRQHandler了,直接在本次运行channel2的中断?

使用特权

评论回复
5
浪淘沙| | 2007-11-29 11:18 | 只看该作者

回4楼关于进入中断函数的问题

问题:“当channel1进入中断还没跳出,channel2也有中断来,如果判断channel2有无中断的语句即if (TIM_GetITStatus(TIM2, TIM_IT_CC2) != RESET) 已经执行,是不是接下来再进一次TIM2_IRQHandler?如果还没执行,是不是就不用再进TIM2_IRQHandler了,直接在本次运行channel2的中断?”

答:理解正确!

如果在中断处理函数中错过了该中断向量对应的某个中断源的处理,只要对应的中断标志不被清除,中断处理函数退出后还会再次进入。


关于5楼的问题,我还没有研究过Cortex-M3中断优先级的处理,看看有没有其它人可以回答你的问题。

使用特权

评论回复
6
running_li|  楼主 | 2007-11-30 08:40 | 只看该作者

Thanks!

谢谢!我再认真看看,争取在在接下来几天将整个STM32有个了解,为下个星期参加ST的会做一下准备。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

34

帖子

0

粉丝