⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irq.c

📁 ucos 在GAMEBOY上的移植
💻 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 + -