Updated Apr 2025

vTimerSetTimerID

[Timer API]

timers.h

1 void vTimerSetTimerID( TimerHandle_t xTimer, void *pvNewID );

An identifier (ID) is assigned to a software timer when the timer is created, and can be changed at any time using the

vTimerSetTimerID()
API function.

If the same callback function is assigned to multiple timers, the timer identifier can be inspected inside the callback function to determine which timer actually expired.

The timer identifier can also be used to store data in the timer between calls to the timer's callback function.

Parameters:

  • xTimer

    The timer being updated.

  • pvNewID

    The handle to which the timer's identifier will be set.

Example usage:

1/* A callback function assigned to a timer. */
2void TimerCallbackFunction( TimerHandle_t pxExpiredTimer )
3{
4uint32_t ulCallCount;
5
6 /* A count of the number of times this timer has expired
7 and executed its callback function is stored in the
8 timer's ID. Retrieve the count, increment it, then save
9 it back into the timer's ID. */
10 ulCallCount =
11 ( uint32_t ) [pvTimerGetTimerID](/Documentation/02-Kernel/04-API-references/11-Software-timers/13-pvTimerGetTimerID)( pxExpiredTimer );
12 ulCallCount++;
13 vTimerSetTimerID( pxExpiredTimer, ( void * ) ulCallCount );
14}