📄 irq.c
字号:
#include "includes.h"
/*
*************************************************************
* 定义、声明GBA 14个中断服务函数
*
* 作者: 李强 (mail2li@21cn.com or mail2li@163.com)
*
*
* 声明: 你仅可以将以下代码使用在你的商用或非商用,获利或非获利软件中
* 你可以任意修改以下代码,
* 唯一要求:请保留本信息及本人名字等信息
*
************************************************************
*/
void irq_VBL (void)
{
// ...
clrb(REG_IF,INT_VBL);
}
void irq_HBL (void)
{
// ...
clrb(REG_IF,INT_HBL);
}
void irq_VCNT(void)
{
// ...
clrb(REG_IF,INT_VCNT);
}
void irq_TIM0(void)
{
// ...
clrb(REG_IF,INT_TIM0);
}
void irq_TIM1(void)
{
// ...
clrb(REG_IF,INT_TIM1);
}
void irq_TIM2(void)
{
// ...
clrb(REG_IF,INT_TIM2);
}
void irq_TIM3(void)
{
REG_TM3D = 0x10000 - (GBA_FOSC/64)/OS_TICKS_PER_SEC; // 重载定时器
OSTimeTick(); // uCOS needed it
clrb(REG_IF,INT_TIM3);
}
void irq_SIO (void)
{
// ...
clrb(REG_IF,INT_SIO);
}
void irq_DMA0(void)
{
// ...
clrb(REG_IF,INT_DMA0);
}
void irq_DMA1(void)
{
// ...
clrb(REG_IF,INT_DMA1);
}
void irq_DMA2(void)
{
// ...
clrb(REG_IF,INT_DMA2);
}
void irq_DMA3(void)
{
// ...
clrb(REG_IF,INT_DMA3);
}
void irq_KEY (void)
{
// ...
clrb(REG_IF,INT_KEY);
}
void irq_CART(void)
{
// ...
clrb(REG_IF,INT_CART);
}
void (*IntrTable[14])(void)=
{
irq_VBL,
irq_HBL,
irq_VCNT,
irq_TIM0,
irq_TIM1,
irq_TIM2,
irq_TIM3,
irq_SIO,
irq_DMA0,
irq_DMA1,
irq_DMA2,
irq_DMA3,
irq_KEY,
irq_CART,
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -