isr.c

来自「一个ARM7的定时器程序,程序员通过该程序可以了解ARM7的编程方法,启动过程,」· C语言 代码 · 共 39 行

C
39
字号
#include "4510.h"
#include "isr.h"
#include "stdio.h"
extern unsigned long   Ms_TIMER;
void C_IRQ_Handler (void)
{
	unsigned long irq_pend ;
	
	irq_pend = INTPEND ;
	
	//Disable_Int(nGLOBAL_INT);
	if(irq_pend & TIMER0_INT)
	{
		
		Disable_Int(nTIMER0_INT);
		isr_time0();
		Clear_PendingBit(nTIMER0_INT) ;
		Enable_Int(nTIMER0_INT );
	}
	//Enable_Int(nGLOBAL_INT);
}
void isr_time0(void)
{
	Ms_TIMER++;
}
void InitInterrupt(void)
{
	Ms_TIMER = 0 ;
	INTMODE = 0 ;	//中断类型为IRQ

	
	
	
	TDATA0 = 100 * 50000 - 1 ;	//ms:(定时常数 + 1 )/50000000
	TMOD = 0x01 ;
	Enable_Int(nTIMER0_INT );
	Enable_Int(nGLOBAL_INT);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?