-
TMS320F28335
外部中断总结
作者:
Free
文章来源:
Free
点击数:
93
更新时间:
2010-8-26
p>
在这里我们要十分清楚
DSP
的中断系统。
C28XX
一共有
16
个中断源,其中有
2
个不可屏蔽
的中断
RESET
和
NMI
、定时器
1
和定时器
2
分别使用中断
13
和
14
。这样还有
12
个中断都直接连接到外设中断扩展模块
PIE
上。说的简单一点就是
PIE
通过
12
根线与
28335
核的
12
个中断线相连。而
PIE
的另外
一侧有
12*8
根线分别连接到外设,如
AD
、
SPI
、
EXINT
等等。这样
PIE
共管理
12*8=96
个外
部中断。这
12<
/p>
组大中断由
28335
核的中断寄存器<
/p>
IER
来控
制,即
IER
确定每个中断到底属于哪
一组大中断(如
IER
|=
M_I
NT12;
说明我们要用第
12
组
p>
的中断,但是第
12
组里面的什么中断
p>
CPU
并不知道需
要再由
PIEIER
确定)
。接下来再由
PIE
模
块中的寄存器
PIEIER
中的低
8<
/p>
确定该中断是这一组
的第几个中断,这些配置都要告诉
CPU
(我们不难想
象到
PIEIER
共有
12
总即从
PIEIER1-PIEIER12
)
。另外,
PIE
模
块还有中断标志寄存器
PIEIFR
,
同样它的低
8
位是来自外部中断的
8<
/p>
个标志位,同
样
CPU
的
IFR
< br>寄存器是中断组的标志寄存器。由此看来,
CPU
的所有
中断寄存器控制
12
组
的中断,
PIE
的所有中断寄存器控制每组内
8
个的中断。
除此
之外,
我们用到哪一个外部中断,
相应的还有外部中断的寄存器
,
需要注意的就是外部
中断的标志要自己通过软件来清零。而<
/p>
PIE
和
CPU
的
中断标志寄存器由硬件来清零。
EALLOW;
// This is needed to write to EALLOW
protected registers
2 =
&ISRExint; //
告诉中断入口地址
EDIS;
// This is needed to
disable write to EALLOW protected registers
=
1;
// Enable the PIE
block
使能
PIE
5= 1;
//
使能第一组中的中断
5
IER |= M_INT1;
//
Enable CPU
第一组中断
EINT;
// Enable
Global interrupt INTM
ERTM;
// Enable Global realtime interrupt
DBGM
也就是说,
12
组中的每个中断都要完成上面的相同配置,
剩下的才是去配置自己的中断。
如我们提到的
EXINT
,即外面来个低电平我们就进入
中断,完成我们的程序。在这里要介绍一下,
DSP
的
GPIO
口都可以配置为外部中断口,其
配置方法如下:
54 = 0; //
选择他们是
GP
IO
口
55 = 0;
56 = 0;
57 = 0;
54 =
0;//
选择他们都是输入口
55 = 0;
56 = 0;
57 = 0;
54=
0;//GPIO
时钟和系统时钟一样且支持
GPIO
55= 0;
56= 0;
57= 0;
L = 54;//
中断
3
选择
GPIO
L = 55;
L = 56;
L = 57;
TY=
0;//
触发模式为下降沿触发
TY= 0;
TY= 0;
TY= 0;
=
1;//
使能中断
= 1;
= 1;
= 1;
注意一点就是外部中断
1
和
2
p>
只能对
GPIO0
—
GPIO31
配置;外部中断
3
和<
/p>
4
、
5
、
6
、
7
只对
GPIO32
—
GPIO63
< br>配置。
-
-
-
-
-
-
-
-
-
上一篇:VxWorks操作系统指南
下一篇:英语词汇学自考题-19讲课讲稿