#include "ezdsp5535.h" #include #include #include "ezdsp5535_led.h" #include ;//HERE IS THE PROBLEM!!! #include "csl_types.h" #include "csl_gpio.h" GPIO_Handle hGpio; CSL_GpioObj gGpioObj; Uint16 led = FALSE; CSL_Status GpioInit(Uint32 ioDir, Uint32 intEn, Uint32 intEdg, Uint32 oVal); interrupt void INT_GPIO(void); void gpio_output_pin_toggle(void); void main(void) { EZDSP5535_LED_init( ); EZDSP5535_XF_toggle(); /*CALL THE FUNCTION!!!!!*/ CSL_Status GpioInit(0x0000, 0x0400, 0x400, 0x0); /* ioDir=0x0000; SET THE GPIO10 AS INPUT PIN intEn=0x0400; FOR ENABLING INTERRUPT ON THE GPIO10 PIN intEdg=0x0400; FOR CONFIGURING INTERRUPT TO TRIGGER ON THE FALLING EDGE */ while(1) {} }//ENDMAIN /*THE FUNCTION FOR BLINKING THE LED*/ void gpio_output_pin_toggle(void) { if (led) { EZDSP5535_LED_off(1); led=~led; } else { EZDSP5535_LED_on(1); led=~led; } } /*THE FUNCTION FOR SETTING THE INTERRUPT REGISTERS*/ CSL_Status GpioInit(Uint32 ioDir, Uint32 intEn, Uint32 intEdg, Uint32 oVal) { CSL_GpioConfig config; Uint16 i; CSL_Status status; /* Open GPIO module */ hGpio = GPIO_open(&gGpioObj, &status); if ((hGpio == NULL) || (status != CSL_SOK)) { return status; } /* Reset GPIO module */ status = GPIO_reset(hGpio); if (status != CSL_SOK) { return status; } /* Configure GPIO module */ config.GPIODIRL = ioDir & 0xFFFF; config.GPIODIRH = ioDir >> 16; config.GPIOINTENAL = intEn & 0xFFFF; config.GPIOINTENAH = intEn >> 16; config.GPIOINTTRIGL = intEdg & 0xFFFF; config.GPIOINTTRIGH = intEdg >> 16; status = GPIO_config(hGpio, &config); if (status != CSL_SOK) { return status; } /* Write output values for outputs */ for (i=0; i>i) & 0x1) { GPIO_write(hGpio, (CSL_GpioPinNum)i, ((oVal>>i) & 0x1)); } } return CSL_SOK; } /*THE FUNCTION FOR INTERRUPT*/ interrupt void INT_GPIO(void) { /*BLINKING LED*/ gpio_output_pin_toggle(); printf("END ..... ISR\n"); }//END INTGPIO