DM6437's GP19 pin when finished configuring edge-triggered (SET_RIS_TRIG01), the interrupt flag register (INTSTAT01) to set up, and then, the program has been into the interrupt ,clear interrupt flag bit is invalid only when clear edge trigger (CLR_RIS_TRIG01), the interrupt flag can be cleared.
The same configuration, when configured as GP98, GP55, the interrupt process is normal.
The following is the initial configuration GP19:
void Init_GP19(void)
{
CFG_PINMUX0 &= 0xFFFFFFC0;
CFG_VDD3P3V_PWDN &= 0xFFFFFFDF;
GPIO_DIR01 |= 0x80000;
GPIO_BINTEN |= 0x2;
GPIO_SET_RIS_TRIG01 |= 0x80000;
GPIO_CLR_FAL_TRIG01 |= 0x80000;
INTC_INTMUX1 &= 0xFF00FFFF;
INTC_INTMUX1 |= (73 << 16);
C64_enableIER(1<<6);
}
The following interrupt response function for the GP19:
int StateCnt = -1;
void GP19ReceiveISR(void)
{
Uint32 state;
state = GPIO_INTSTAT01 & 0x80000;
StateCnt++;
if(state == 0x80000)
{
GPIO_INTSTAT01 |= 0x80000;
if(StateCnt != 0)
{
GPIO_OUT_DATA01 &= 0xFFDFFFFF; ////POWER_EN Low
}
}
}