DSP

TS201学习之外部中断IRQ

2019-07-13 19:40发布

            本篇介绍外部中断的使用,在板子上,每块DSP都将一个外部中断分配给了一个按键,配合本篇说明和上一篇关于FLAG的编程说明,就可以完成按键控制LED功能。         编程手册中有关中断寄存器的说明:               中断寄存器 中断控制寄存器:INTCTL    中断屏蔽寄存器:IMASK 优先级寄存器: PMASK 中断锁存寄存器:ILAT (只读) 按键初始化函数 /*********************************************************** 函 数 名:Init_PushButtons() 功 能:初始化IRQ3作为按键的输入端口 说 明: 入口参数: 返 回 值:无 设 计: 日 期:2012-04-04 修 改: 日 期:2012-04-18 ************************************************************/ void Init_PushButtons(void) { volatile int temp; //注册中断函数 INSTALL_ISR(SIGIRQ3, IRQ3_ISR);//__IVIRQ3 //设置跳沿触发 SET_IRQ_EDGE_SENSETIVE(3); //允许外部中断 SET_REG_BIT(__IMASKH,INT_IRQ3); } 中断服务函数 /*********************************************************** 函 数 名:IRQ3_ISR() 功 能:IRQ3的中断服务函数 说 明: 入口参数: 返 回 值:无 设 计: 日 期:2012-04-05 修 改: 日 期:2012-04-18 ************************************************************/ void IRQ3_ISR(void) { //将LED状态取反 TGL_FLAG(0); }
EnjoyYourself!