您的位置:首页 > 其它

TS201学习之外部中断IRQ

2012-06-12 22:39 281 查看
本篇介绍外部中断的使用,在板子上,每块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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: