关于STR912的外部中断引脚

[复制链接]
4215|10
 楼主| centimetre 发表于 2007-6-25 10:40 | 显示全部楼层 |阅读模式
手册上有一点不敢确定,请教一下大家
有很多外部io可以配置成中断功能,但同一时刻好像只能有四个外部中断,对应WIU的中断?
这样做有啥意义那
 楼主| centimetre 发表于 2007-6-26 07:45 | 显示全部楼层

没有人注意到这个问题吗,

如果是这样,那外部中断也太少了点
 楼主| centimetre 发表于 2007-6-26 08:19 | 显示全部楼层

SCU_WKUPSEL

stf 发表于 2007-6-26 10:03 | 显示全部楼层

str912的外部中断

centimetre你好

str9的外部中断都可以同时用。

4个外部中断可以直接连到不同的IRQ (VIC1.10,VIC1.11,VIC1.12, VIC1.13)

你的应用需要更多的外部中断你要用VIC1.9,每一个外部中断连接到这个IRQ。然后在你的中断函数里面读WIU的寄存器你可以处理。

Regards,
Stephane
stf 发表于 2007-6-26 10:41 | 显示全部楼层

WIU的框图

浪淘沙 发表于 2007-6-26 12:33 | 显示全部楼层

楼主的理解正确但不完全:可以有4个STR912的引脚产生独立的


STR912共有30个I/O引脚可以产生外部中断,它们全部通过逻辑或汇到VIC1.9进入CPU核心,当有多个引脚上有中断事件时,可以通过Pending(挂起)寄存器WIU_PR判断具体中断源并分别处理。

楼主描述的SCU_WKUPSEL寄存器可以用于把一组(8个中断源/组)中的任一个映射到某个内部中断向量上(VIC1.10-13),这样同时最多有4个外部中断引脚可以对应到独立的中断向量上,便于软件的快速处理。

估计楼主指的是后面这种情况;但通过VIC1.9,所有外部中断引脚都可以产生中断。

另外请注意,STR91x有新的版本推出,编号为STR91xFA(旧的是STR91xF),请下在新的手册:http://www.st.com/stonline/products/literature/um/13165.pdf

我曾经发过一个帖子介绍了STR91xFA和STR91xF的区别,请查看《STR91xFA是STR91xF的增强版本,请看她们的区别》。
 楼主| centimetre 发表于 2007-6-28 10:26 | 显示全部楼层

还有个疑问

如果"通过VIC1.9,所有外部中断引脚都可以产生中断"以后,那么还可以"寄存器可以用于把一组(8个中断源/组)中的任一个映射到某个内部中断向量上(VIC1.10-13),这样同时最多有4个外部中断引脚可以对应到独立的中断向量"
这样做吗?
也就是我既把vic 1.9打开了,也把某个管脚映射到VIC1.10-13上了,那是不是同时产生中断?能否让某些管脚从vic1.9产生中断,某些管脚从vic1.10-13产生中断?
香水城 发表于 2007-6-28 10:57 | 显示全部楼层

两种情况都可以,但要处理好

你可以把某个管脚同时映射到VIC1.10-13上和VIC1.9上,但要小心处理,因为这个管脚上的外部事件会产生两个中断。

当然,你最好是把一个管脚映射到VIC1.10-13上后,就不要再把它同时映射到VIC1.9上了。

从5楼给出的框图中,你应该可以看到你有很大的自由度,可以任意组合,但软件上要做好识别和处理。
 楼主| centimetre 发表于 2008-4-29 01:21 | 显示全部楼层

不可能的

当然,你最好是把一个管脚映射到VIC1.10-13上后,就不要再把它同时映射到VIC1.9上了。

一旦有一个管脚映射到VIC1.9上,其他管脚也就映射上去了,没法屏蔽的。
xinjie1023 发表于 2010-5-23 11:03 | 显示全部楼层
好贴,标记。
pkat 发表于 2010-5-23 19:35 | 显示全部楼层
应该不只4个,只是各个中断的优先级不同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

271

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部