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

📄 initint.c

📁 44b0+s6b0724包括系统初始化
💻 C
字号:
/*
*********************************************************************************************************
* 文件: InitInt.C
* 描述: 初始化中断优先级等设置,请仔细控制此处的开中断.
* 编写: kaka (sn.kaka@yahoo.com).
*********************************************************************************************************
*/
#include "44b0x.h"
#include "LCD_Dis.h"
void InitInt (void)
{
#define  V      0       // 0 = Vectored interrupt mode 1 = Non-vectored interrupt mode
#define  I      0       // 0 = IRQ interrupt enable
#define  F      1       // 0 = FIQ interrupt enable (Not allowed vectored interrupt mode) 1 = Reserved
    INTCON = ((V<<2)+(I<<1)+F);

//               EINT0   EINT1   EINT2   EINT3  EINT4567  TICK   ZDMA0   ZDMA1   BDMA0   BDMA1   WDT   UERR0/1   TIMER0  TIMER1  TIMER2  TIMER3  TIMER4 TIMER5  URXD0  URXD1  IIC  SIO     UTXD0  UTXD1  RTC   ADC.
// 0 = IRQ mode 1 = FIQ mode
    INTMOD   = ((0<<25)+(0<<24)+(0<<23)+(0<<22)+(0<<21)+(0<<20)+(0<<19)+(0<<18)+(0<<17)+(0<<16)+(0<<15)+(0<<14)+(0<<13)+(0<<12)+(0<<11)+(0<<10)+(0<<9)+(0<<8)+(0<<7)+(0<<6)+(0<<5)+(0<<4)+(0<<3)+(0<<2)+(0<<1)+0);
// 0 = Service available 1 = Masked
    INTMSK   = ((0<<26)+(0<<25)+(0<<24)+(0<<23)+(0<<22)+(0<<21)+(0<<20)+(1<<19)+(1<<18)+(1<<17)+(1<<16)+(1<<15)+(1<<14)+(1<<13)+(1<<12)+(1<<11)+(1<<10)+(1<<9)+(1<<8)+(1<<7)+(1<<6)+(1<<5)+(1<<4)+(1<<3)+(1<<2)+(1<<1)+1);

// IRQ priority of slave register
    I_PSLV = 0x1b1b1b1b;
// IRQ priority of master register
    I_PMST = 0x00001f1b;
// IRQ interrupt service pending clear register
    I_ISPC = 0xffffffff;//I_ISPR;                            // Clear all pending.
// FIQ interrupt service pending clear register
    F_ISPC = F_ISPR;                            // Clear all pending.

    EXTINTPND = 0x0f;                           // External(4,5,6,and 7) interrupt pending Register. cleared by writing 1.
}

/*
********************************************************************************************************
* End.
********************************************************************************************************
*/



void	__irq HandlerEINT0(void)
{	
	

	Clear_lcd;
	FontSet(1,1);				 	//设置字体类形,字符色为1
	PutString(5,5,"EINT0!congratulant ,kaka !! good job good job!"); 	//显示字符串
		EXTINTPND=0xf;
	I_ISPC=0x3FFFFFF;
	//while(1);
}
void	__irq HandlerEINT1(void)
{	

	Clear_lcd;
	FontSet(1,1);				 	//设置字体类形,字符色为1
	PutString(5,5,"EINT1!congratulate ,kaka !! good job!"); 	//显示字符串
	//while(1);
	EXTINTPND=0xf;
	I_ISPC=0x3FFFFFF;
	
}
void	__irq HandlerEINT2(void)
{	
	
	
	Clear_lcd;
	FontSet(1,1);				 	//设置字体类形,字符色为1
	PutString(5,5,"EINT2!congratulante ,kaka !! good job!"); 	//显示字符串
	//while(1);
	EXTINTPND=0xff;
	I_ISPC=0xffffffff;
}
void	__irq HandlerEINT3(void)
{	

	Clear_lcd;
	FontSet(1,1);				 	//设置字体类形,字符色为1
	PutString(5,5,"EINT3!congratulante ,kaka !! good job!"); 	//显示字符串
	//while(1);
		EXTINTPND=0xf;
	I_ISPC=0x3FFFFFF;
}
void	__irq HandlerEINT4567(void)
{	

	Clear_lcd;
	FontSet(1,1);				 	//设置字体类形,字符色为1
	PutString(5,5,"EINT4567!congratulante ,kaka !! good job!"); 	//显示字符串
	//while(1);
	EXTINTPND=0xf;
	I_ISPC=0x3FFFFFF;
}
void __irq HandlerIRQ(void)
{	

	Clear_lcd;
	FontSet(1,1);				 	//设置字体类形,字符色为1
	PutString(10,15," HandlerIRQ!There is something wrong  ,kaka"); 	//显示字符串
	//while(1);
	EXTINTPND=0xf;
	I_ISPC=0x3FFFFFF;
}
void __irq HandlerFIQ(void)
{	

	Clear_lcd;
	FontSet(1,1);				 	//设置字体类形,字符色为1
	PutString(10,15,"HandlerFIQ!There is something wrong ,kaka"); 	//显示字符串
	//while(1);
	EXTINTPND=0xf;
	I_ISPC=0x3FFFFFF;
}

⌨️ 快捷键说明

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