Tool/software:
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 be 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); } } }