我现在有两个外接芯片:
芯片1中断引脚与PF4连接
芯片2中断引脚与PF8连接
我想让PF4中断在PF Interrupt A中处理,PF8中断在PF Interrupt B处理,两者互不干扰(即FP4的中断处理在flaga_isr中完成,FP8的中断处理在flagb_isr中完成) 。我要怎么操作呢?
如下是我的连接初始化:
void pf4_connect(void)
{
*pFIO_DIR &= ~PF4;
*pFIO_INEN |= PF4;
*pFIO_EDGE &= ~PF4;
*pFIO_POLAR |= PF4;
*pFIO_MASKA_D |= PF4; //MASKA
}
void pf8_connect(void)
{
*pFIO_DIR &= ~PF8;
*pFIO_INEN |= PF8;
*pFIO_EDGE &= ~PF8;
*pFIO_POLAR |= PF8;
*pFIO_MASKB_D |= PF8; //MASKB
}
void flaga_isr_init(void)
{
*pSIC_IAR0 &= 0xffffffff;
*pSIC_IAR1 &= 0xffffffff;
*pSIC_IAR2 &= 0xffff5fff; // FlagA -> ID5
register_handler(ik_ivg12, flaga_isr); // flaga_isr-> IVG 12
// enable FlagA interrupt
*pSIC_IMASK |= PFA_IRQ;
}
void flagb_isr_init(void)
{
*pSIC_IAR0 &= 0xffffffff;
*pSIC_IAR1 &= 0xffffffff;
*pSIC_IAR2 &= 0xfff5ffff; // FlagB -> ID5
register_handler(ik_ivg12, flagb_isr); // flagb_isr-> IVG 12
// enable FlagA interrupt
*pSIC_IMASK |= PFB_IRQ;
}
但FlagA和FlagB共用中断向量IVG 12的,这要怎么办呢?ik_ivg12只能注册一次啊!
「该帖子被 blackfin 在 2013-06-25 13:40:04 编辑过」