📄 irq.c
字号:
/*==============================================================================*/
/* file name : irq.c (the function of do things to Interrupt bit) */
/* compiler : SPARC-RTEMS-GCC */
/* author : mr.zhou */
/* copyright : ORBITA Co.,Ltd. All Right Reserved.At 2005-9-2 */
/*==============================================================================*/
#include"System.h"
#include"irq.h"
/************************************************************************/
/* Description: */
/* This function main do interrupt register bit, */
/* set a bit of interrupt enable or disable; */
/* Parameters: */
/* BYTE int_name, interrupt vector name */
/* DWORD int_bit, the bit of interrupt */
/* BYTE enable_dis set this bit enable or disable --> 1 or 0 */
/* Return: */
/* none */
/* Syntax: */
/* void Set_Interrupt_Bit(BYTE int_name, */
/* DWORD int_bit, */
/* BYTE enable_dis) */
/************************************************************************/
void Set_Interrupt_Bit(BYTE int_name,DWORD int_bit,BYTE enable_dis)
{
DWORD temp_int;
switch(int_name)
{
case SEC_INT_CLEAR: _Get_Reg_Value(temp_int , SEC_INT_CLEAR_REG); break;
case SEC_INT_PEND: _Get_Reg_Value(temp_int , SEC_INT_PEND_REG ); break;
case SEC_INT_MASK: _Get_Reg_Value(temp_int , SEC_INT_MASK_REG ); break;
case PRI_INT_CLEAR: _Get_Reg_Value(temp_int , INT_CLEAR_REG ); break;
case PRI_INT_PEND: _Get_Reg_Value(temp_int , INT_PEND_REG ); break;
case PRI_INT_MASK: _Get_Reg_Value(temp_int , INT_MASK_REG ); break;
default: return;
}
if(enable_dis == ENABLE )
{
temp_int = temp_int | int_bit;
}
else if(enable_dis == DISABLE)
{
temp_int = temp_int & (~int_bit);
}
switch(int_name)
{
case SEC_INT_CLEAR: _Set_Reg_Value( SEC_INT_CLEAR_REG, temp_int ); break;
case SEC_INT_PEND: _Set_Reg_Value( SEC_INT_PEND_REG , temp_int ); break;
case SEC_INT_MASK: _Set_Reg_Value( SEC_INT_MASK_REG , temp_int ); break;
case PRI_INT_CLEAR: _Set_Reg_Value( INT_CLEAR_REG , temp_int ); break;
case PRI_INT_PEND: _Set_Reg_Value( INT_PEND_REG , temp_int ); break;
case PRI_INT_MASK: _Set_Reg_Value( INT_MASK_REG , temp_int ); break;
default: return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -