vTimerCreate
Hi,
If the system created only one timer (using vTimerCreate).
Along the running of the system – Can only one task use this timer or many tasks can use it ?
Thank you
vTimerCreate
A Timer is not tied to a specific task, so many tasks can use (start/stop/reset/etc) the timer, but a timer can only have a single time period/timeout time at any given time, so it can only be running once at any given time, and the timeout callback runs in the context of the Timer Task, not any particular task,
vTimerCreate
Thank you Richard.
What happend if Task1 use timerA to run call back with timeout of 500 milli seconds
and after 100 milli Task2 do stop command to TimerA ?
Is the call back will run or not ?
vTimerCreate
If the last action on TimerA was ANY task (or ISR) doing a stop, then the timer is stopped, and the callback won’t be called until some task (or ISR) restarts it.
As I said, Timers are NOT connected to a task and have no knowledge of the tasks using them (unless YOU add such information for YOUR use in the timer tag).
vTimerCreate
When task send command to timer service message Q – it causes the timer service task to move from block state to running state and process the command.
What can be more other situations that can cause the timer service task to move from block state to running state ?
vTimerCreate
What happend if TaskA use timerA to run call back with timeout of 500 milli seconds and after 100 milli Task2 do stop command to TimerA ? Is the call back will run or not ?I strongly recommend that you read the documentation and experiment with the code. In relation to this specific question – setting up a quick and dirty test, observing the behaviour, and stepping through the code, would give you the answer very quickly and teach you a lot about how the code functions.