DSP-3.6中断服务程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//12 组 PIE 模块管理的外部中断源中断向量
//第 1 组 PIE 外设中断向量—PIE 1 PINT PDPINTA; PINT PDPINTB; PINT rsvd1_3; PINT XINT1; PINT XINT2; PINT ADCINT; PINT TINT0; PINT WAKEINT;
//事件管理器 A—EVA //事件管理器 A—EVA //事件管理器 A—EVA //事件管理器 A—EVA //事件管理器 A—EVA //事件管理器 A—EVA //事件管理器 A—EVA //保留
//第 3 组 PIE 外设中断向量—PIE 3 …
//第 12 组 PIE 外设中断向量—PIE 12 …
PieVectTable.XINT1=&ISRXINT1; 注意:中断服务程序的函数声明一定要放在主程序开始处。
DSP281x_PieVect.h 部分源代码如下: //************************************************************************* //****************************DSP281x_PieVect.h**************************** //************************************************************************* typedef interrupt void (*PINT) (void)
interrupt void ISRXINT1(void)
//中断服务程序函数声明
void main(void)
{
…
InitPieCtrl( ); //初始化 PIE 控制寄存器
IER=0x0000; //禁止所有可屏蔽中断
IFR=0x0000;
EALLOW;
PieVectTable.XINT1=&ISRXINT1; //将外部中断 XINT1 的服务程序入口地址赋
//CPU 级复位向量 // CPU 级 INT1 向量 // CPU 级 INT2 向量 // CPU 级 INT3 向量 // CPU 级 INT4 向量 // CPU 级 INT5 向量 // CPU 级 INT6 向量 // CPU 级 INT7 向量 // CPU 级 INT8 向量 // CPU 级 INT9 向量 // CPU 级 INT10 向量 // CPU 级 INT11 向量 // CPU 级 INT12 向量
//予中断向量表实体对应成员,即使 XINT1 指向程序中所定义的 XINT1 中断服务程序
…
}
interrupt void ISRXINT1(void) {
// XINT1 中断服务程序 … // 中断处理
}
习题与思考题
1. 简述 TMS320F2812 CPU 内部各组成部分的功能。 2. 简述 TMS320F2812 DSP 器件总线结构的特点。 3. TMS320F2812 DSP 有哪几种低功耗模式? 各有何特点? 4. 简述 TMS320F2812 FLASH 存储器的结构特点。 5. 简述 TMS320F2812 中断源的类型。 6. 简述 TMS320F2812 DSP 可屏蔽中断的响应过程。 7. TMS320F2812 DSP 的可屏蔽中断是如何管理的? 8. 简述 TMS320F2812 中断的处理模式。 9. 简述 TMS320F2812 DSP 中断向量表映射的基本原理,并说明控制信号 VMAP、M0M1MAP、MP/MC、 ENPIE 的功能。
//非 PIE 模块外设中断向量 PINT XINT13; PINT TINT2; PINT DATALOG; PINT RTOSINT; PINT EMUINT; PINT XNMI; PINT ILLEGAL; PINT USER0; PINT USER1; PINT USER2
//外部中断 XINT13 //CPU 定时器 TIMER2 //CPU 调试数据记录日志中断 //CPU 实时操作系统中断 //CPU 仿真中断 //外部非屏蔽中断 //非法操作中断 //用户定义陷阱 0 //用户定义陷阱 1 //用户定义陷阱 2
3
1
通信 0801-04 信工 0801-03
DSP 原理与应用
PINT PINT PIN来自百度文库 PINT PINT PINT PINT PINT PINT
USER3; USER4; USER5; USER6; USER7; USER8; USER9; USER10; USER11;
//用户定义陷阱 3 //用户定义陷阱 4 //用户定义陷阱 5 //用户定义陷阱 6 //用户定义陷阱 7 //用户定义陷阱 8 //用户定义陷阱 9 //用户定义陷阱 10 //用户定义陷阱 11
struct PIE_VECT_TABLE{ // 定义中断向量表的结构体类型
//CPU 级中断向量 PINT PIE1_RESERVED; PINT PIE2_RESERVED; PINT PIE3_RESERVED; PINT PIE4_RESERVED; PINT PIE5_RESERVED; PINT PIE6_RESERVED; PINT PIE7_RESERVED; PINT PIE8_RESERVED; PINT PIE9_RESERVED; PINT PIE10_RESERVED; PINT PIE11_RESERVED; PINT PIE12_RESERVED; PINT PIE13_RESERVED;
通信 0801-04 信工 0801-03
DSP 原理与应用
2011.3.20
3.6 中断服务程序
在实际应用中,由文件“DSP281x_PieVect.h”中定义 PIE_VECT_TABLE 结构体,该结 构体的每个成员都表示一个中断源的中断向量,这个结构体类型被用于定义一个 PIE 中断向 量表实体 PieVectTable,用户可以通过地址赋值将中断服务程序入口地址赋予该实体 PieVectTable 中的成员变量,如
//事件管理器 A—EVA //事件管理器 B—EVB //保留 //外部中断 1 //外部中断 1 //ADC 模块 //定时器 0 //WD 模块
//第 2 组 PIE 外设中断向量—PIE 2 PINT CMP1INT; PINT CMP2INT; PINT CMP3INT; PINT T1PINT; PINT T1CINT; PINT T1UFINT; PINT T1OFINT; PINT rsvd2_8;
}
2
2011.3.20
通信 0801-04 信工 0801-03
DSP 原理与应用
2011.3.20
extern struct PIE_VECT_TABLE PieVectTable; //PIE 中断向量表实体变量全局声明
}
主程序(test.c)部分源代码:
//******************************** test.c********************************