xmc1100 eru

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
Hi,
i'm very beginner with XMC uCs so I have a problem with (I think) simple hw configuration.
I ran sample application on XMC2GO kit and now I want to run my own app with external interrupt on p2.6 pin.
My configuration of ERU is like below:

void ERU_Init(void)
{
WR_REG(PORT2->PDISC, PORT2_PDISC_PDIS6_Msk, PORT2_PDISC_PDIS6_Pos, 0); //configuration of P2.6

NVIC_SetPriority(ERU0_2_IRQn, 3); //p2.6 is connected to channel 2
NVIC_EnableIRQ(ERU0_2_IRQn);

P2_6_set_mode(INPUT); //p2.6 configured as input with no pull-up/pull-down

P2_0_set_mode(OUTPUT_PP_GP); //p2.0 configured as output

WR_REG(ERU0->EXICON[2], ERU_EXICON_LD_Msk, ERU_EXICON_LD_Pos, 1);
WR_REG(ERU0->EXICON[2], ERU_EXICON_PE_Msk, ERU_EXICON_PE_Pos, 1); //trigger enabled
WR_REG(ERU0->EXICON[2], ERU_EXICON_RE_Msk, ERU_EXICON_RE_Pos, 1);
WR_REG(ERU0->EXICON[2], ERU_EXICON_FE_Msk, ERU_EXICON_FE_Pos, 1); //both rising and falling edge should generate an event
WR_REG(ERU0->EXICON[2], ERU_EXICON_PE_Msk, ERU_EXICON_PE_Pos, 1);
WR_REG(ERU0->EXICON[2], ERU_EXICON_PE_Msk, ERU_EXICON_PE_Pos, 1);
WR_REG(ERU0->EXICON[2], ERU_EXICON_OCS_Msk, ERU_EXICON_OCS_Pos, 3); //trigger pulses sent tu OGU3

WR_REG(ERU0->EXISEL, ERU_EXISEL_EXS2A_Msk, ERU_EXISEL_EXS2A_Pos, 1); //ERU0_EXISEL_EXS2A chosen

WR_REG(ERU0->EXOCON[3], ERU_EXOCON_ISS_Msk, ERU_EXOCON_ISS_Pos, 3); //OGU3 selected
WR_REG(ERU0->EXOCON[3], ERU_EXOCON_GP_Msk, ERU_EXOCON_GP_Pos, 1); //ERU GOUT enabled
WR_REG(ERU0->EXOCON[3], ERU_EXOCON_GEEN_Msk, ERU_EXOCON_GEEN_Pos, 1); //Event detection enabled
}

and the interrupt handler is:
void ERU0_2_IRQHandler(void)
{
uint32_t status;

/* Reads Status Flag */
status = RD_REG(ERU0->EXICON[2],ERU_EXICON_FL_Msk , ERU_EXICON_FL_Pos);

if(status)
{
P1_0_toggle(); //RU event received, toggle LED
CLR_BIT(ERU0->EXICON[2],ERU_EXICON_FL_Pos); //clear interrupt flag
}
}

Could someone explain why the code isn't working? Thanks in advance.
Regards
J
0 Likes
0 Replies