Chapter 2. API Reference
*
*
//
Query the hardware to determine which interface needs
*
xInterfaceToService
*
*
//
The actual processing
*
//
vProcessInterface() callback function
*
//
number of the interface that needs
*
//
service
*
//
not
used
*
xHigherPriorityTaskWoken
*
xTimerPendFunctionCallFromISR( vProcessInterface, NULL, ( uint32_t
xInterfaceToService, &xHigherPriorityTaskWoken );
→
*
*
//
If xHigherPriorityTaskWoken
*
//
switch should be
*
//
be either portYIELD_FROM_ISR()
*
//
the documentation page
*
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
*
*
}
*
Return pdPASS is returned if the message was successfully sent to the timer daemon task, otherwise
pdFALSE is returned.
Parameters
• xFunctionToPend: The function to execute from the timer service/ daemon task. The function
must conform to the PendedFunction_t prototype.
• pvParameter1: The value of the callback function's first parameter. The parameter has a void
* type to allow it to be used to pass any type. For example, unsigned longs can be cast to a void *,
or the void * can be used to point to a structure.
• ulParameter2: The value of the callback function's second parameter.
• pxHigherPriorityTaskWoken: As mentioned above, calling this function will result in a
message being sent to the timer daemon task. If the priority of the timer daemon task (which is
set using configTIMER_TASK_PRIORITY in FreeRTOSConfig.h) is higher than the priority of
the currently running task (the task the interrupt interrupted) then *pxHigherPriorityTaskWoken
will be set to pdTRUE within xTimerPendFunctionCallFromISR(), indicating that a context switch
should be requested before the interrupt exits. For that reason *pxHigherPriorityTaskWoken must
be initialised to pdFALSE. See the example code below.
BaseType_t
xTimerPendFunctionCall(PendedFunction_t
BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t
ulParameter2, TickType_t xTicksToWait );
Used to defer the execution of a function to the RTOS daemon task (the timer service task, hence this function
is implemented in timers.c and is prefixed with 'Timer').
Return pdPASS is returned if the message was successfully sent to the timer daemon task, otherwise
pdFALSE is returned.
Parameters
• xFunctionToPend: The function to execute from the timer service/ daemon task. The function
must conform to the PendedFunction_t prototype.
• pvParameter1: The value of the callback function's first parameter. The parameter has a void
* type to allow it to be used to pass any type. For example, unsigned longs can be cast to a void *,
or the void * can be used to point to a structure.
• ulParameter2: The value of the callback function's second parameter.
• xTicksToWait: Calling this function will result in a message being sent to the timer daemon task
on a queue. xTicksToWait is the amount of time the calling task should remain in the Blocked state
(so not using any processing time) for space to become available on the timer queue if the queue is
found to be full.
Espressif Systems
=
prvCheckInterfaces();
is
to be deferred to a
is
passed
in
the second
in
this
case.
=
pdFALSE;
requested.
for
the port being
uint32_t ulParameter2, TickType_t xTicksToWait)
920
Submit Document Feedback
task.
is
executed, passing
processing.
parameter.
The first parameter
is
now
set
to pdTRUE then a context
The macro used
is
port specific
or
portEND_SWITCHING_ISR()
used.
xFunctionToPend, void *pvParameter1,
(continued from previous page)
processing.
Request the
in
the
The interface to
is
)␣
and
will
-
refer to
Release v4.4
Need help?
Do you have a question about the ESP32-S2 and is the answer not in the manual?