100
时 间 记 忆
100
最 新 评 论
100
专 题 分 类
100
最 新 日 志
100
最 新 留 言
100
搜 索
用 户 登 录
100
友 情 连 接
博 客 信 息
100


 
DSP28335入门(四)中断处理
[ 2022/1/21 23:27:00 | By: 欧高技术 ]
 
一、C28335一共96中断,可以使用的有58个中断,其余38个保留(Reserved)INTX.Y X=1..12 路 Y=1..8 通道, 总共中断 12*8 =96

The various interrupt sources are multiplexed
External Interrupts
Multiplexing of Interrupts Using the PIE Block
PIE Peripheral Interrupts

二、C28335的中断请求可以分成:
(1)可屏蔽中断:通过判断优先级选择是否处理
(2)不可屏蔽中断:强制停止CPU进程,进入中断程序,比如复位NMI
(3)片内中断源:PWM、CAP、QEP、Timer等
(4)片外中断源:外部中断输入引脚XINT1、XINT2引入的信号

三、PIE(Peripheral Interrupts Enable)配置与控制寄存器:
四、外部中断寄存器:

五、中断管理模块的功能:
(1) PIE作为中断管理模块:主要是用来在有限中断通道的情况下,管理多个中断源触发
(2) PIE模块处理INT1~INT12组中断源,每组中断源下包含8路中断通道(INT1.x(x = 1、2、…、8));
(3) 定时器1、2的中断源分别为INT13、INT14
(4) 中断优先级 //INT1>INT2>…>INT12; //INT1.1>INT1.2>…>INT1.8;
(5) 初始化系统函数
InitSysCtrl();
 (6) 禁止cpu中断
DINT;
(7) 初始化PIE控制 
InitPieCtrl();
(8) 禁止中断并清除中断标志位
IER = 0; //全局中断使能
IFR = 0; //全局标志位
(9) 初始化PIE向量表 
InitPieVectTable();
(10)将外部中断的中断服务函数映射到中断向量表
EALLOW;
PieVectTable.XINT3 = &xint3_isr;
PieVectTable.XINT4 = &xint4_isr;
EDIS;
(11) 清除计数值
Xint3Count = 0;
Xint4Count = 0;
LoopCount = 0;
(12) 使能CPU级中断
IER |= M_INT12;
(13) 使能PIE块
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
(14) 使能PIE 12组 INT1 、 INT2
PieCtrlRegs.PIEIER12.bit.INTx1 = 1;
PieCtrlRegs.PIEIER12.bit.INTx2 = 1;
(15) 开启中断
EINT;
(16) 关寄存器写保护
EALLOW;
GpioIntRegs.GPIOXINT3SEL.bit.GPIOSEL = 0x1c;
GpioIntRegs.GPIOXINT4SEL.bit.GPIOSEL = 0x1d;
(17) 开寄存器写保护
EDIS;
(18) 配置 XINT1
//Falling edge interrupt 下降沿中断
XIntruptRegs.XINT3CR.bit.POLARITY = 0;
//Rising edge interrupt 上升沿中断
XIntruptRegs.XINT4CR.bit.POLARITY = 1;
(19) 使能外部中断
XIntruptRegs.XINT3CR.bit.ENABLE = 1;
XIntruptRegs.XINT4CR.bit.ENABLE = 1;
(20)中断主循环
//主循环
interrupt void xint3_isr(void)
{
//中断次数计数器
Xint3Count++;
//中断内容
GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1;
//确认中断结束
PieCtrlRegs.PIEACK.all = PIEACK_GROUP12;
}

interrupt void xint4_isr(void)
{
//中断次数计数器
Xint4Count++;
//中断内容
GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1;
//确认中断结束
PieCtrlRegs.PIEACK.all = PIEACK_GROUP12;
}

 
  • 标签:数字信号处理器 
  • 群组:DSP开发知识 
  • 发表评论:
    100
    Powered by ASTAR.