Dear Sir,
We are migrating from stellaris LM3S9B96 to TM4c129XCNZAD.
The ROM.h also modified as there is missing definition below in the file
#if defined(TARGET_IS_BLIZZARD_RA1) || \
defined(TARGET_IS_BLIZZARD_RA3) || \
defined(TARGET_IS_BLIZZARD_RB1) || \
defined(TARGET_IS_SNOWFLAKE_RA0)
#define ROM_GPIOPinIntEnable \
((void (*)(uint32_t ui32Port, \
uint8_t ui8Pins))ROM_GPIOTABLE[7])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) || \
defined(TARGET_IS_BLIZZARD_RA3) || \
defined(TARGET_IS_BLIZZARD_RB1) || \
defined(TARGET_IS_SNOWFLAKE_RA0)
#define ROM_GPIOPinIntDisable \
((void (*)(uint32_t ui32Port, \
uint8_t ui8Pins))ROM_GPIOTABLE[8])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) || \
defined(TARGET_IS_BLIZZARD_RA3) || \
defined(TARGET_IS_BLIZZARD_RB1) || \
defined(TARGET_IS_SNOWFLAKE_RA0)
#define ROM_GPIOPinIntStatus \
((long (*)(uint32_t ulPort, \
bool bMasked))ROM_GPIOTABLE[9])
#endif
#if defined(TARGET_IS_BLIZZARD_RA1) || \
defined(TARGET_IS_BLIZZARD_RA3) || \
defined(TARGET_IS_BLIZZARD_RB1) || \
defined(TARGET_IS_SNOWFLAKE_RA0)
#define ROM_GPIOPinIntClear \
((void (*)(uint32_t ui32Port, \
uint8_t ui8Pins))ROM_GPIOTABLE[10])
#endif
We are configure Pin 6 for external interrupt but programme stuck after executing"ROM_GPIOPinIntEnable(GPIO_PORTM_BASE, GPIO_PIN_6); " & ROM_GPIOPinIntDisable.
I have used this command in two different cases and come to conclusion that after enabling program stuck and disabling it work.
Same is working in stellaris LM3s9B96. What is an issue?
Below are the steps
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM); // Enable the GPIO blocks of port pin used.
ROM_GPIOPinTypeGPIOInput(GPIO_PORTM_BASE,GPIO_PIN_6);// external interrupt pin
ROM_IntMasterEnable();
ROM_GPIOIntTypeSet(GPIO_PORTM_BASE, GPIO_PIN_6, GPIO_FALLING_EDGE); //Type of interrupt set for pin
ROM_GPIOPinIntEnable(GPIO_PORTM_BASE, GPIO_PIN_6); //Enable the Individual Pin sensing intrrupt
ROM_IntEnable(INT_GPIOM);
After task
ROM_GPIOPinIntDisable(GPIO_PORTM_BASE, GPIO_PIN_6); //Disable the Individual Pin sensing intrrupt
ROM_IntDisable(INT_GPIOM);