📄 int.c
字号:
//****************************************************************************
// @Module Interrupt Controller (INT)
// @Filename INT.C
// @Project PEC.dav
//----------------------------------------------------------------------------
// @Controller Infineon XC164CM-8F40
//
// @Compiler Keil
//
// @Codegenerator 0.2
//
// @Description This file contains functions that use the INT module.
//
//----------------------------------------------------------------------------
// @Date 2006-8-15 15:54:59
//
//****************************************************************************
// USER CODE BEGIN (INT_General,1)
// USER CODE END
//****************************************************************************
// @Project Includes
//****************************************************************************
#include "MAIN.H"
// USER CODE BEGIN (INT_General,2)
// USER CODE END
//****************************************************************************
// @Macros
//****************************************************************************
// USER CODE BEGIN (INT_General,3)
// USER CODE END
//****************************************************************************
// @Defines
//****************************************************************************
// USER CODE BEGIN (INT_General,4)
// USER CODE END
//****************************************************************************
// @Typedefs
//****************************************************************************
// USER CODE BEGIN (INT_General,5)
// USER CODE END
//****************************************************************************
// @Imported Global Variables
//****************************************************************************
// USER CODE BEGIN (INT_General,6)
extern unsigned int PEC_Des[10];
extern unsigned int PEC_Source[10];
// USER CODE END
//****************************************************************************
// @Global Variables
//****************************************************************************
// USER CODE BEGIN (INT_General,7)
// USER CODE END
//****************************************************************************
// @External Prototypes
//****************************************************************************
// USER CODE BEGIN (INT_General,8)
// USER CODE END
//****************************************************************************
// @Prototypes Of Local Functions
//****************************************************************************
// USER CODE BEGIN (INT_General,9)
// USER CODE END
//****************************************************************************
// @Function void INT_vInit(void)
//
//----------------------------------------------------------------------------
// @Description This is the initialization function of the INT function
// library. It is assumed that the SFRs used by this library
// are in reset state.
//
//----------------------------------------------------------------------------
// @Returnvalue None
//
//----------------------------------------------------------------------------
// @Parameters None
//
//----------------------------------------------------------------------------
// @Date 2006-8-15
//
//****************************************************************************
// USER CODE BEGIN (Init,1)
// USER CODE END
void INT_vInit(void)
{
// USER CODE BEGIN (Init,2)
// USER CODE END
MAIN_vUnlockProtecReg(); // unlock EXISEL0
EXISEL0 = 0x0000; // load the external Interrupt select
// register 0
MAIN_vUnlockProtecReg(); // unlock EXISEL1
EXISEL1 = 0x0000; // load the external Interrupt select
// register 1
MAIN_vUnlockProtecReg(); // unlock EXICON
EXICON = 0x0000; // load the external Interrupt control
// register
PECISNC = 0x0000; // clear PEC interrupt sub node control
// register
PECISNC = 0x0004; // load PEC interrupt sub node control
// register
/// -----------------------------------------------------------------------
/// Configuration of the used INT Port Pins:
/// -----------------------------------------------------------------------
/// -----------------------------------------------------------------------
/// Configuration of the used INT Interrupts:
/// -----------------------------------------------------------------------
/// EOP service request node configuration:
/// - EOP interrupt priority level (ILVL) = 14
/// - EOP interrupt group level (GLVL) = 1
/// - EOP group priority extension (GPX) = 0
EOPIC = 0x0079;
// USER CODE BEGIN (INT_Function,3)
// USER CODE END
} // End of function INT_vInit
//****************************************************************************
// @Function void INT_viEOP(void)
//
//----------------------------------------------------------------------------
// @Description This is the interrupt service routine for the End of PEC
// interrupt. It is called when the configured PEC channel
// counter decrements from 0x01 to 0x00.
// Please note that you have to add application specific code
// to this function.
//
//----------------------------------------------------------------------------
// @Returnvalue None
//
//----------------------------------------------------------------------------
// @Parameters None
//
//----------------------------------------------------------------------------
// @Date 2006-8-15
//
//****************************************************************************
// USER CODE BEGIN (EOP,1)
// USER CODE END
void INT_viEOP(void) interrupt EOPINT
{
// USER CODE BEGIN (EOP,2)
unsigned char i;
// USER CODE END
if(PECISNC_C1IR) // end of PEC channel 1
{
PECISNC_C1IR = 0;
// USER CODE BEGIN (EOP,4)
for(i=0;i<10;i++)
PEC_Des[i] = 0;
SRCP1 = _sof_(PEC_Source); //set source pointer
DSTP1 = _sof_(PEC_Des); //set destination pointer
// re-enable the PEC
PECC1 = 0x560A;
// USER CODE END
}
} // End of function INT_viEOP
// USER CODE BEGIN (INT_General,10)
// USER CODE END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -