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 + -
显示快捷键?