4.11

来源:互联网 发布:minitab比较多组数据 编辑:程序博客网 时间:2024/06/05 14:37
#include "S3C2451_irq.h"


IRQ_MemMapPtr const IRQ_BASE_PTR[2]={IRQ1_BASE_PTR,IRQ2_BASE_PTR};


/*
irqx : INT_EINT0 | INT_EINT1 | INT_EINT2  ...
NewState : ENABLE or  DISABLE
*/


void IRQ1_INTMask_Init(unsigned int irqx,FunctionalState NewState)
{
if(ENABLE == NewState)
IRQ_BASE_PTR[0]->INTMSK &= ~(irqx);
else
IRQ_BASE_PTR[0]->INTMSK |= irqx;
}




void IRQ1_INTSUBMask_Init(unsigned int subirqx,FunctionalState NewState)
{
if(ENABLE == NewState)
IRQ_BASE_PTR[0]->INTSUBMSK &= ~(subirqx);
else
IRQ_BASE_PTR[0]->INTSUBMSK |= subirqx;


}
void IRQ1_ClearPND(unsigned int irqx)
{
IRQ_BASE_PTR[0]->SRCPND |= irqx;
IRQ_BASE_PTR[0]->INTPND |= irqx;
}


void IRQ1_ClearSUBPND(unsigned int subirqx)
{
IRQ_BASE_PTR[0]->SUBSRCPND |= subirqx;
}


BIT_Typedef IRQ1_GetSUBPND(unsigned int subirqx)
{
if((IRQ_BASE_PTR[0]->SUBSRCPND & subirqx) == subirqx)
{
return BIT_SET;
}else
{
return BIT_RESET;
}
}
 
BIT_Typedef IRQ1_GetPND(unsigned int irqx)
{
if((IRQ_BASE_PTR[0]->INTPND & irqx) == irqx)
{
return BIT_SET;
}else
{
return BIT_RESET;
}
}
0 0