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.

RTOS/TM4C1294NCPDT: UART Callback, not always HWI triggered?

Part Number: TM4C1294NCPDT

Tool/software: TI-RTOS

Hi,

in my current implementation, I am facing the following problem: I have two tasks that handle two different UARTs. The structure of both task is nearly the same:

void readInput(void)
{
    while(1)
    {
        UART_read(Uart, buffer, 1); // calls callback function after successful read
        Semaphore_pend(sem, BIOS_WAIT_FOREVER); // return semaphore from callback function
        // Do something
    }
}

For the next step, I place a breakpoint at the beginning of my callback function. If I now stop through several breakpoint calls I can see the following: the callback function is either triggered by the HWI or a task (?):

What is the difference between the two calls? My question is pointing at this: within an HWI I cannot use or call any semaphore functionalities, whereas this is possible within a task context.