Software Timers - xTimerIsTimerActive and ISR

wella wrote on Friday, October 28, 2011:


can I call the function xTimerIsTimerActive() from ISR? I am using ARM7 port (LPC2478). It calls taskENTER_CRITICAL() and taskEXIT_CRITICAL(). I am not sure if these functions are allowed to call from ISR. I realize that the function …Active() has not ISR suffix but e.g. pvTimerGetTimerID() has not it also, yet can be called.

Thank you for your help.


rtel wrote on Friday, October 28, 2011:

No - the function cannot be called from an ISR (on an ARM7 port at least), for the reason you guessed.

Specifically for that port, if you wanted an ISR safe version, just create a version that does not have the ENTER/EXIT critical macros, but keep using the default version when outside of an ISR.