This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c6455 simulator and periodical interruption

Hello! I have not found on the forum on this topic. use ccs5 and c6455 simulator. configure things gpio interrupt. received one interrupt. After the flag in the IFR register does not appear anymore. how to adjust to the periodical interruption?

Initialization is taken from the example: 

void gpioInt (
void
)
{
CSL_Status intStat;
CSL_GpioPinConfig config;
CSL_GpioContext pContext;
CSL_GpioObj gpioObj;
CSL_GpioObj gpioObjX;
CSL_GpioHwSetup hwSetup;
CSL_IntcParam vectId;

/* Initialize INTC */
context.numEvtEntries = 1;
context.eventhandlerRecord = record;

intStat = CSL_intcInit(&context);
if (intStat != CSL_SOK) {
printf("INTR: Initialization error.\n");
demoFail++;
return;
}

/* Enable NMIs */
intStat = CSL_intcGlobalNmiEnable();
if (intStat != CSL_SOK) {
printf("INTR: Error while enabling NMI.\n");
demoFail++;
return;
}

/* Enable all interrupts */
intStat = CSL_intcGlobalDisable(&state);
if (intStat != CSL_SOK) {
printf("INTR: Error while enabling interrupt.\n");
demoFail++;
return;
}

/* Open interrupt module */

vectId = CSL_INTC_VECTID_4;

gpioIntcHandleX = CSL_intcOpen(&gpioIntcObjX, CSL_INTC_EVENTID_GPINT0,
&vectId, &intStat);


if ((gpioIntcHandleX == NULL) || (intStat != CSL_SOK)) {
printf("INTR: Error opening the instance.\n");
demoFail++;
return;
}

  /* Bind ISR to Interrupt */
isr_gpioX.handler = (CSL_IntcEventHandler)&InrerruptX;
isr_gpioX.arg = gpioIntcHandleX;
CSL_intcPlugEventHandler(gpioIntcHandleX, &isr_gpioX);
CSL_intcQueryDropStatus(&drop);

  /* Initialize the GPIO CSL module */
status = CSL_gpioInit(&pContext);
if (status != CSL_SOK) {
printf("GPIO: Initialization error.\n");
demoFail++;
return;
}
  /* Event Enable */
CSL_intcHwControl(gpioIntcHandleX, CSL_INTC_CMD_EVTENABLE, NULL);
if (intStat != CSL_SOK) {
printf("INTR: Error in enabling event.\n");
demoFail++;
return;
}
/* Initialize the GPIO CSL module */
status = CSL_gpioInit(&pContext);
if (status != CSL_SOK) {
printf("GPIO: Initialization error.\n");
demoFail++;
return;
}

/* Open the CSL module */
hGpioX = CSL_gpioOpen(&gpioObjX, CSL_GPIO, NULL, &status);
if ((hGpioX == NULL) || (status != CSL_SOK)) {
printf("GPIO: Error opening the instance.\n");
demoFail++;
return;
}
 

hwSetup.extendSetup = NULL;
status = CSL_gpioHwSetup(hGpioX, &hwSetup);


config.pinNum = CSL_GPIO_PIN0;
config.trigger = CSL_GPIO_TRIG_RISING_EDGE;
config.direction = CSL_GPIO_DIR_OUTPUT;

status = CSL_gpioHwControl(hGpioX, CSL_GPIO_CMD_BANK_INT_ENABLE, NULL);
if (status != CSL_SOK) {
printf("GPIO: Command to enable bank interrupt... Failed.\n");
demoFail++;
}

status = CSL_gpioHwControl(hGpioX, CSL_GPIO_CMD_CONFIG_BIT, &config);
if (status != CSL_SOK) {
printf("GPIO: GPIO pin configuration error.\n");
demoFail++;
return;
}

pinNum = CSL_GPIO_PIN0;
status = CSL_gpioHwControl (hGpioX, CSL_GPIO_CMD_SET_BIT, &pinNum);
if (status != CSL_SOK) {
printf("GPIO: Command to set bit... Failed.\n");
demoFail++;
return;
 }

intStat = CSL_intcGlobalEnable(&state);
if (intStat != CSL_SOK) {
printf("INTR: Error while enabling interrupt.\n");
demoFail++;
return;
}