下面的程序讲解是基于FL2440开发板的程序讲解,有不对的地方希望大家能够指教
中断控制程序编写步骤
主程序
1.先清除中断源挂起寄存器( SRCPND SRCPND)和中断挂起寄存器( INTPND),可用 rSRCPND= rSRCPND 和rINTPND=rINTPND =来完成;
2.设中断模式,这里使用通用中断,rINTMOD=0x00000000因上电或复位时rINTMOD是清 0的,这步也可以不做。
3.I/O 口初始化,有些中断源要通过 I/O 口向 CPU 申请中断,如外部中断 0(EXTINT0通过 )F口的 GPF0 、外部中断11(EXTINT11)通过G口的 GPG3 向CPU 申请中断,此时两个口的控制寄存器 GPFCON 和GPGCON 的要设置成:GPFCON[1:0]=1,0;GPGCON[7:6]=1,0。
4设中断服务函数地址, S3C2410 在2410addr.h 中定义了 40个宏,设置了系统支持的中断服务函数的指针,设中断服务函数地址就是把我们编写的中断服务函数的地址(就是中断服务函数的名字)赋予相应的函数指针。每个中断源的中断服务函数指针名是固定的:pISR+中断源。