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

📄 isr.c

📁 凌阳机的模组spi串口红外传感器的接口电路及c语言的程序!没有密码!
💻 C
字号:
//========================================================================================
//文件名称:ISR.c
//描述:建立中断服务程序
//========================================================================================
#define P_IOB_Data				(volatile unsigned int *)0x7005  
#define P_INT_Clear             (volatile unsigned int *)0x7011
#define P_INT_Ctrl				(volatile unsigned int *)0x7010  
#define P_IOB_Buffer			(volatile unsigned int *)0x7006  
#define ClearWDog   (*((volatile unsigned char *) 0x7012))=1
#define P_INT_Ctrl				(volatile unsigned int *)0x7010 
#define	P_IOA_Data 				(volatile unsigned int *)0x7000 
__asm(".external	F_FIQ_Service_SACM_S480");
__asm(".external	F_FIQ_Service_SACM_A2000");
#include "s480.h"
#include "A2000.h"
extern uiFlag[16],uiSum,uiClock,uiWR;
#include "hardware.h"
int iTest,i;
extern PlayFlag,uiSumFlag;
void BREAK(void) __attribute__ ((ISR));
void BREAK(void)
{
}
void FIQ(void) __attribute__ ((ISR));
void FIQ(void)
{
   
   if(*P_INT_Ctrl==0x2000)
   {
   switch(PlayFlag)
   {
   case   0:
   __asm("call F_FIQ_Service_SACM_S480");
   break;
   case   1:
   __asm("call F_FIQ_Service_SACM_A2000");
   break;
   default:
   break;
   }
   }
   
   *P_INT_Clear=0x2000;
}
void IRQ0(void) __attribute__ ((ISR));
void IRQ0(void)
{
}
void IRQ1(void) __attribute__ ((ISR));
void IRQ1(void)
{
}
void IRQ2(void) __attribute__ ((ISR));
void IRQ2(void)
{
}
void IRQ3(void) __attribute__ ((ISR));
void IRQ3(void)
{
//	finddata(); 
    *P_INT_Clear=0x0100;
}
void IRQ4(void) __attribute__ ((ISR));
void IRQ4(void)
{
if(*P_INT_Ctrl&0x0040)                          				//写入2Hz时钟发生
{
	if(uiWR==1)
   {
 	uiClock=*P_IOB_Data&0x0100;
 	if(uiClock==0x0000)
 	{ 
 	uiClock=*P_IOB_Buffer;
    uiClock=uiClock|0x0100;
    *P_IOB_Data=uiClock;
    uiClock=1;}
    if(uiClock==0x0100)
    { 
 	uiClock=*P_IOB_Buffer;
    uiClock=uiClock&0xfeff;
    *P_IOB_Data=uiClock;
    uiClock=0; 
  }
  }
 *P_INT_Clear=0x0040;	
  
  }  
  if(*P_INT_Ctrl&0x0020)
  {
  finddata();                                                       //取数
  *P_INT_Clear=0x0020;
}
}
void IRQ5(void) __attribute__ ((ISR));
void IRQ5(void)
{

    *P_INT_Clear=0x0004;
}
void IRQ6(void) __attribute__ ((ISR));
void IRQ6(void)
{

}
void IRQ7(void) __attribute__ ((ISR));
void IRQ7(void)
{
}

⌨️ 快捷键说明

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