I have a general question how to determine when to use the xxFromISR()-functions?
First, I know that in the case I misuse the “regular” function, I will most likely get an assert which points me to use the FromISR()-function. But I would like to understand the logic when to use one or the other.
I am communicating with FreeRTOS via UART. I configured the TX and RX to be using the DMA. As soon as an internal buffer is full or I the termination-character is received, the data (in my case a string) is put onto to queues TX/RXQueue. Every package of data is signalled with the accroding callback,. As far as im concerned, the TX/RXCmpltCallbacks are not interrupts, or are they?
If I am not using the xQueueSendFromISR(), I am ending in an assert. So my guess is that I have a twist in my logic and I would like to untwist that. Or in other words: “How can I determine when to use FromISR or the regular function?”
Related to that question?
If I use the xQueueReceiveFromISR-function do I need to be in an ISR or does the queued element is from an ISR?
Thank you for your time and help, I realy appreciate every input on the topic.