Callback function length

Hi,
a bit of a silly question but thought of double checking…

I assume that freeRTOS callback functions are just general callback type which can be as long as they need to be and do not need to be “short” like ISR. Correct?

Or are there some exceptions whereby (especially user-defined) freeRTOS callbacks need to be kept minimal because they perhaps lock some part of freeRTOS?

Thank you

Yes that is true… BUT there are some potential side effects. The callbacks will operate within the task context that needed the callbacks. For example, the timer task executes all the timer callbacks. If one callback takes a long time to execute it can delay the execution of another timer task. Timer callbacks are not preempted amongst themselves. This will not break FreeRTOS but your application will not operate as expected.

Yes, it makes sense. Thank you. :slight_smile: