I am using TM4C1233E6PZ controller and i am using 3 interrupts
- uart isr
- gpio isr
- timer isr
I just want to know that these ISR automatically handle enable and disable global interrupt or not?
Actually i want that if any ISR is already triggered then no other ISR should triggered.
My ISR is :-
extern "C" void DEBUGUARTIntHandler(void)
{
uint32_t ui32Status;
// Get the interrrupt status. //
ui32Status = UARTIntStatus(UART4_BASE, true);
static int msglen=0,datacnt=0;
char tmpudr;
UARTIntClear(UART4_BASE, ui32Status);
// Loop while there are characters in the receive FIFO. //
while(UARTCharsAvail(DEBUG_UART_BASE))
{
tmpudr = UARTCharGetNonBlocking(UART4_BASE);
UARTCharPutNonBlocking(UART4_BASE, tmpudr);
// data handling
}
}
void SysTickIntHandler(void)
{
// static uint16_t ADC_RAW = 0;
if(u32DelayCounter != 0U)
{
u32DelayCounter--;
}
}
extern "C" void GPIODIntHandler(void)
{
uint8_t inputPinSts = 0;
uint32_t EXTI_Sts = GPIOIntStatus(GPIO_PORTD_BASE, true);
GPIOIntClear(GPIO_PORTD_BASE, EXTI_Sts);
if(EXTI_Sts)
{
EXTI_Sts = 0;
inputPinSts = GPIOPinRead(GPIO_PORTD_BASE, GPIO_PIN_2)/GPIO_PIN_2;
if(inputPinSts)
{
// GPIOPinWrite(LED_PORT_BASE, LED2_PIN, GPIO_HIGH);
GPIOPinWrite(LED_PORT_BASE, LED2_PIN, LED2_PIN);
}
else
{
GPIOPinWrite(LED_PORT_BASE, LED2_PIN, GPIO_LOW);
// GPIOPinWrite(LED_PORT_BASE, LED2_PIN, LED2_PIN);
}
}
}
I tried to read data sheets but did not get success