logo资料库

FreeRTOS_Reference_Manual_V9.0.0.pdf

第1页 / 共353页
第2页 / 共353页
第3页 / 共353页
第4页 / 共353页
第5页 / 共353页
第6页 / 共353页
第7页 / 共353页
第8页 / 共353页
资料共353页,剩余部分请下载后查看
Contents
List of Figures
List of Code Listings
List of Tables
List of Notation
Chapter 1 About This Manual
1.1 Scope
The Order in Which Functions Appear in This Manual
API Usage Restrictions
Chapter 2 Task and Scheduler API
2.1 portSWITCH_TO_USER_MODE()
Summary
Parameters
Return Values
Notes
2.2 vTaskAllocateMPURegions()
Summary
Parameters
Notes
Example
2.3 xTaskAbortDelay()
Summary
Parameters
Notes
Example
2.4 xTaskCallApplicationTaskHook()
Summary
Parameters
Example
2.5 xTaskCheckForTimeOut()
Summary
Parameters
Example
2.6 xTaskCreate()
Summary
Parameters
Return Values
Notes
Example
2.7 xTaskCreateStatic()
Summary
Parameters
Return Values
Notes
Example
2.8 xTaskCreateRestricted()
Summary
Parameters
Return Values
Notes
Example
2.9 vTaskDelay()
Summary
Parameters
Return Values
Notes
Example
2.10 vTaskDelayUntil()
Summary
Differences Between vTaskDelay() and vTaskDelayUntil()
Parameters
Return Values
Notes
Example
2.11 vTaskDelete()
Summary
Parameters
Return Values
Example
2.12 taskDISABLE_INTERRUPTS()
Summary
Parameters
Return Values
2.13 taskENABLE_INTERRUPTS()
Summary
Parameters
Return Values
2.14 taskENTER_CRITICAL()
Summary
Parameters
Return Values
Example
2.15 taskENTER_CRITICAL_FROM_ISR()
Summary
Parameters
Return Values
Example
2.16 taskEXIT_CRITICAL()
Summary
Parameters
Return Values
Example
2.1 taskEXIT_CRITICAL_FROM_ISR()
Summary
Parameters
Return Values
Example
2.2 xTaskGetApplicationTaskTag()
Summary
Parameters
Return Values
Notes
Example
2.3 xTaskGetCurrentTaskHandle()
Summary
Parameters
Return Values
Notes
2.4 xTaskGetIdleTaskHandle()
Summary
Parameters
Return Values
Notes
2.1 xTaskGetHandle()
Summary
Parameters
Return Values
Notes
Example
2.2 uxTaskGetNumberOfTasks()
Summary
Parameters
Return Values
2.3 vTaskGetRunTimeStats()
Summary
Parameters
Return Values
Notes
Example
2.4 xTaskGetSchedulerState()
Summary
Parameters
Return Values
Notes
2.5 uxTaskGetStackHighWaterMark()
Summary
Parameters
Return Values
Notes
Example
2.6 eTaskGetState()
Summary
Parameters
Return Values
Notes
2.7 uxTaskGetSystemState()
Summary
Parameters
Return Values
Notes
Example
2.8 vTaskGetTaskInfo()
Summary
Parameters
Notes
Example
2.9 pvTaskGetThreadLocalStoragePointer()
Summary
Parameters
Return Values
Example
2.10 pcTaskGetName()
Summary
Parameters
Return Values
2.11 xTaskGetTickCount()
Summary
Parameters
Return Values
Notes
Example
2.12 xTaskGetTickCountFromISR()
Summary
Parameters
Return Values
Notes
Example
2.13 vTaskList()
Summary
Parameters
Return Values
Notes
Example
2.14 xTaskNotify()
Summary
Parameters
Return Values
Notes
Example
2.15 xTaskNotifyAndQuery()
Summary
Parameters
Return Values
Notes
Example
2.16 xTaskNotifyAndQueryFromISR()
Summary
Parameters
Return Values
Notes
Example
2.17 xTaskNotifyFromISR()
Summary
Parameters
Return Values
Notes
Example
2.18 xTaskNotifyGive()
Summary
Parameters
Return Values
Notes
Example
2.19 vTaskNotifyGiveFromISR()
Summary
Parameters
Notes
Example
2.20 xTaskNotifyStateClear()
Summary
Parameters
Return Values
Example
2.21 ulTaskNotifyTake()
Summary
Parameters
Return Values
Notes
Example
2.22 xTaskNotifyWait()
Summary
Parameters
Return Values
Notes
Example
2.23 uxTaskPriorityGet()
Summary
Parameters
Return Values
Example
2.24 vTaskPrioritySet()
Summary
Parameters
Return Values
Notes
Example
2.25 vTaskResume()
Summary
Parameters
Return Values
Notes
Example
2.26 xTaskResumeAll()
Summary
Parameters
Return Values
Notes
Example
2.27 xTaskResumeFromISR()
Summary
Parameters
Return Values
Notes
Example
2.28 vTaskSetApplicationTaskTag()
Summary
Parameters
Return Values
Notes
Example
2.29 vTaskSetThreadLocalStoragePointer()
Summary
Parameters
Return Values
Example
2.30 vTaskSetTimeOutState()
Summary
Parameters
Example
2.31 vTaskStartScheduler()
Summary
Parameters
Return Values
Notes
Example
2.32 vTaskStepTick()
Summary
Parameters
Return Values
Notes
Example
2.33 vTaskSuspend()
Summary
Parameters
Return Values
Notes
Example
2.34 vTaskSuspendAll()
Summary
Parameters
Return Values
Notes
Example
2.35 taskYIELD()
Summary
Parameters
Return Values
Notes
Example
Chapter 3 Queue API
3.1 vQueueAddToRegistry()
Summary
Parameters
Return Values
Notes
Example
3.2 xQueueAddToSet()
Summary
Parameters
Return Values
Notes
Example
3.3 xQueueCreate()
Summary
Parameters
Return Values
Notes
Example
3.4 xQueueCreateSet()
Summary
Parameters
Return Values
Notes
Example
3.5 xQueueCreateStatic()
Summary
Parameters
Return Values
Notes
Example
3.6 vQueueDelete()
Summary
Parameters
Return Values
Notes
Example
3.7 pcQueueGetName()
Summary
Parameters
Return Values
3.8 xQueueIsQueueEmptyFromISR()
Summary
Parameters
Return Values
Notes
3.9 xQueueIsQueueFullFromISR()
Summary
Parameters
Return Values
Notes
3.10 uxQueueMessagesWaiting()
Summary
Parameters
Returned Value
Example
3.11 uxQueueMessagesWaitingFromISR()
Summary
Parameters
Returned Value
Example
3.12 xQueueOverwrite()
Summary
Parameters
Returned Value
Example
3.13 xQueueOverwriteFromISR()
Summary
Parameters
Returned Value
Example
3.14 xQueuePeek()
Summary
Parameters
Return Values
Notes
Example
3.15 xQueuePeekFromISR()
Summary
Parameters
Return Values
Notes
3.16 xQueueReceive()
Summary
Parameters
Return Values
Notes
Example
3.17 xQueueReceiveFromISR()
Summary
Parameters
Return Values
Notes
Example
3.18 xQueueRemoveFromSet()
Summary
Summary
Parameters
Return Values
Notes
Example
3.19 xQueueReset()
Summary
Parameters
Return Values
3.20 xQueueSelectFromSet()
Summary
Parameters
Return Values
Notes
Example
3.21 xQueueSelectFromSetFromISR()
Summary
Parameters
Return Values
Notes
Example
3.22 xQueueSend(), xQueueSendToFront(), xQueueSendToBack()
Summary
Parameters
Return Values
Notes
Example
3.23 xQueueSendFromISR(), xQueueSendToBackFromISR(), xQueueSendToFrontFromISR()
Summary
Parameters
Return Values
Notes
Example
3.24 uxQueueSpacesAvailable()
Summary
Parameters
Returned Value
Example
Chapter 4 Semaphore API
4.1 vSemaphoreCreateBinary()
Summary
Parameters
Return Values
Notes
Example
4.2 xSemaphoreCreateBinary()
Summary
Parameters
Return Values
Notes
Example
4.3 xSemaphoreCreateBinaryStatic()
Summary
Parameters
Return Values
Notes
Example
4.4 xSemaphoreCreateCounting()
Summary
Parameters
Return Values
Notes
Example
4.5 xSemaphoreCreateCountingStatic()
Summary
Parameters
Return Values
Notes
Example
4.6 xSemaphoreCreateMutex()
Summary
Parameters
Return Values
Notes
Example
4.7 xSemaphoreCreateMutexStatic()
Summary
Parameters
Return Values
Notes
Example
4.8 xSemaphoreCreateRecursiveMutex()
Summary
Parameters
Return Values
Notes
Example
4.9 xSemaphoreCreateRecursiveMutexStatic()
Summary
Parameters
Return Values
Notes
Example
4.10 vSemaphoreDelete()
Summary
Parameters
Return Values
Notes
4.11 uxSemaphoreGetCount()
Summary
Parameters
Return Values
4.12 xSemaphoreGetMutexHolder()
Summary
Parameters
Return Values
Notes
4.13 xSemaphoreGive()
Summary
Parameters
Return Values
Notes
Example
4.14 xSemaphoreGiveFromISR()
Summary
Parameters
Return Values
Notes
Example
4.15 xSemaphoreGiveRecursive()
Summary
Parameters
Return Values
Notes
Example
4.16 xSemaphoreTake()
Summary
Parameters
Return Values
Notes
Example
4.17 xSemaphoreTakeFromISR()
Summary
Parameters
Return Values
4.18 xSemaphoreTakeRecursive()
Summary
Parameters
Return Values
Notes
Example
Chapter 5 Software Timer API
5.1 xTimerChangePeriod()
Summary
Parameters
Return Values
Notes
Example
5.2 xTimerChangePeriodFromISR()
Summary
Parameters
Return Values
Notes
Example
5.3 xTimerCreate()
Summary
Parameters
Return Values
Notes
Example
5.4 xTimerCreateStatic()
Summary
Parameters
Return Values
Notes
Example
5.5 xTimerDelete()
Summary
Parameters
Return Values
Notes
Example
5.1 xTimerGetExpiryTime()
Summary
Parameters
Return Values
Notes
Example
5.1 pcTimerGetName()
Summary
Parameters
Return Values
Notes
5.2 xTimerGetPeriod()
Summary
Parameters
Return Values
Notes
Example
5.3 xTimerGetTimerDaemonTaskHandle()
Summary
Parameters
Return Values
Notes
5.4 pvTimerGetTimerID()
Summary
Parameters
Return Values
Notes
Example
5.5 xTimerIsTimerActive()
Summary
Parameters
Return Values
Notes
Example
5.6 xTimerPendFunctionCall()
Summary
Parameters
Return Values
Notes
5.7 xTimerPendFunctionCallFromISR()
Summary
Parameters
Return Values
Notes
Example
5.8 xTimerReset()
Summary
Parameters
Return Values
Notes
Example
5.9 xTimerResetFromISR()
Summary
Parameters
Return Values
Notes
Example
5.10 vTimerSetTimerID()
Summary
Parameters
Notes
Example
5.11 xTimerStart()
Summary
Parameters
Return Values
Notes
Example
5.12 xTimerStartFromISR()
Summary
Parameters
Return Values
Notes
Example
5.13 xTimerStop()
Summary
Parameters
Return Values
Notes
Example
5.14 xTimerStopFromISR()
Summary
Parameters
Return Values
Notes
Example
Chapter 6 Event Groups API
6.1 xEventGroupClearBits()
Summary
Parameters
Return Values
Notes
Example
6.2 xEventGroupClearBitsFromISR()
Summary
Parameters
Return Values
Notes
Example
6.3 xEventGroupCreate()
Summary
Parameters
Return Values
Notes
Example
6.4 xEventGroupCreateStatic()
Summary
Parameters
Return Values
Notes
Example
6.1 vEventGroupDelete()
Summary
Parameters
Return Values
Notes
6.2 xEventGroupGetBits()
Summary
Parameters
Return Values
Notes
6.1 xEventGroupGetBitsFromISR()
Summary
Parameters
Return Values
Notes
6.2 xEventGroupSetBits()
Summary
Parameters
Return Values
Notes
Example
6.3 xEventGroupSetBitsFromISR()
Summary
Parameters
Return Values
Notes
Example
6.1 xEventGroupSync()
Summary
Parameters
Return Values
Notes
Example
6.2 xEventGroupWaitBits()
Summary
Parameters
Return Values
Notes
Example
Chapter 7 Kernel Configuration
7.1 FreeRTOSConfig.h
7.2 Constants that Start “INCLUDE_”
INCLUDE_xEventGroupSetBitsFromISR
INCLUDE_xSemaphoreGetMutexHolder
INCLUDE_xTaskAbortDelay
INCLUDE_vTaskDelay
INCLUDE_vTaskDelayUntil
INCLUDE_vTaskDelete
INCLUDE_xTaskGetCurrentTaskHandle
INCLUDE_xTaskGetCurrentTaskHandle must be set to 1 for the xTaskGetCurrentTaskHandle() API function to be available.
INCLUDE_xTaskGetHandle
INCLUDE_xTaskGetHandle must be set to 1 for the xTaskGetHandle() API function to be available.
INCLUDE_xTaskGetIdleTaskHandle
INCLUDE_xTaskGetSchedulerState
INCLUDE_uxTaskGetStackHighWaterMark
INCLUDE_uxTaskPriorityGet
INCLUDE_vTaskPrioritySet
INCLUDE_xTaskResumeFromISR
INCLUDE_eTaskGetState
INCLUDE_vTaskSuspend
INCLUDE_xTimerPendFunctionCall
7.3 Constants that Start “config”
configAPPLICATION_ALLOCATED_HEAP
configASSERT
configCHECK_FOR_STACK_OVERFLOW
configCPU_CLOCK_HZ
configSUPPORT_DYNAMIC_ALLOCATION
configENABLE_BACKWARD_COMPATIBILITY
configGENERATE_RUN_TIME_STATS
configIDLE_SHOULD_YIELD
configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
configKERNEL_INTERRUPT_PRIORITY, configMAX_SYSCALL_INTERRUPT_PRIORITY, configMAX_API_CALL_INTERRUPT_PRIORITY
configMAX_CO_ROUTINE_PRIORITIES
configMAX_PRIORITIES
configMAX_TASK_NAME_LEN
configMAX_SYSCALL_INTERRUPT_PRIORITY
configMINIMAL_STACK_SIZE
configNUM_THREAD_LOCAL_STORAGE_POINTERS
configQUEUE_REGISTRY_SIZE
configSUPPORT_STATIC_ALLOCATION
configTICK_RATE_HZ
configTIMER_QUEUE_LENGTH
configTIMER_TASK_PRIORITY
configTIMER_TASK_STACK_DEPTH
configTOTAL_HEAP_SIZE
configUSE_16_BIT_TICKS
configUSE_ALTERNATIVE_API
configUSE_APPLICATION_TASK_TAG
configUSE_CO_ROUTINES
configUSE_COUNTING_SEMAPHORES
configUSE_DAEMON_TASK_STARTUP_HOOK
configUSE_IDLE_HOOK
configUSE_MALLOC_FAILED_HOOK
configUSE_MUTEXES
configUSE_NEWLIB_REENTRANT
configUSE_PORT_OPTIMISED_TASK_SELECTION
configUSE_PREEMPTION
configUSE_QUEUE_SETS
configUSE_RECURSIVE_MUTEXES
configUSE_STATS_FORMATTING_FUNCTIONS
configUSE_TASK_NOTIFICATIONS
configUSE_TICK_HOOK
configUSE_TICKLESS_IDLE
configUSE_TIMERS
configUSE_TIME_SLICING
configUSE_TRACE_FACILITY
APPENDIX 1: Data Types and Coding Style Guide
Data Types
Variable Names
Function Names
Formatting
Macro Names
Rationale for Excessive Type Casting
INDEX
The FreeRTOS™ Reference Manual This reference manual is for FreeRTOS V9.0.0. Check http://www.FreeRTOS.org regularly for updates, FreeRTOS tutorial books, and additional online documentation. This text is being provided for free. In return we ask that you use the business contact email link on http://www.FreeRTOS.org/contact to provide feedback, comments and corrections. Thank you.
The FreeRTOS™ Reference Manual API Functions and Configuration Options Real Time Engineers ltd.
Reference Manual for FreeRTOS version 9.0.0 issue 2. All text, source code and diagrams are the exclusive property of Real Time Engineers Ltd. Distribution, use in presentations, or publication in any form is strictly prohibited without prior written authority from Real Time Engineers Ltd. © Real Time Engineers Ltd. 2016. All rights reserved. FreeRTOS™, FreeRTOS.org™ and the FreeRTOS logo are trademarks of Real Time Engineers Ltd. http://www.FreeRTOS.org http://www.FreeRTOS.org/plus http://www.FreeRTOS.org/labs
Contents Contents ................................................................................................................................... 5 List of Figures ........................................................................................................................... 8 List of Code Listings ................................................................................................................. 9 List of Tables .......................................................................................................................... 15 List of Notation ........................................................................................................................ 15 Chapter 1 About This Manual ............................................................................................... 16 1.1 Scope........................................................................................................................ 17 Chapter 2 Task and Scheduler API ...................................................................................... 20 2.1 portSWITCH_TO_USER_MODE() ............................................................................ 21 2.2 vTaskAllocateMPURegions() .................................................................................... 22 2.3 xTaskAbortDelay() .................................................................................................... 25 2.4 xTaskCallApplicationTaskHook() ............................................................................... 27 2.5 xTaskCheckForTimeOut() ......................................................................................... 30 2.6 xTaskCreate() ........................................................................................................... 32 2.7 xTaskCreateStatic() .................................................................................................. 37 2.8 xTaskCreateRestricted() ........................................................................................... 41 2.9 vTaskDelay() ............................................................................................................. 46 2.10 vTaskDelayUntil() ...................................................................................................... 48 2.11 vTaskDelete() ............................................................................................................ 51 2.12 taskDISABLE_INTERRUPTS() ................................................................................. 53 2.13 taskENABLE_INTERRUPTS() .................................................................................. 55 2.14 taskENTER_CRITICAL() ........................................................................................... 56 2.15 taskENTER_CRITICAL_FROM_ISR() ....................................................................... 59 2.16 taskEXIT_CRITICAL() ............................................................................................... 61 2.1 taskEXIT_CRITICAL_FROM_ISR() ........................................................................... 63 2.2 xTaskGetApplicationTaskTag() ................................................................................. 65 2.3 xTaskGetCurrentTaskHandle().................................................................................. 67 2.4 xTaskGetIdleTaskHandle() ........................................................................................ 68 2.1 xTaskGetHandle() ..................................................................................................... 69 2.2 uxTaskGetNumberOfTasks() .................................................................................... 71 2.3 vTaskGetRunTimeStats() .......................................................................................... 72 2.4 xTaskGetSchedulerState() ........................................................................................ 76 2.5 uxTaskGetStackHighWaterMark() ............................................................................. 77 2.6 eTaskGetState() ........................................................................................................ 79 2.7 uxTaskGetSystemState() .......................................................................................... 81 2.8 vTaskGetTaskInfo() ................................................................................................... 85 2.9 pvTaskGetThreadLocalStoragePointer() ................................................................... 87 v
2.10 pcTaskGetName() ..................................................................................................... 89 2.11 xTaskGetTickCount() ................................................................................................ 90 2.12 xTaskGetTickCountFromISR() .................................................................................. 92 2.13 vTaskList() ................................................................................................................. 94 2.14 xTaskNotify() ............................................................................................................. 97 2.15 xTaskNotifyAndQuery() ........................................................................................... 100 2.16 xTaskNotifyAndQueryFromISR() ............................................................................. 104 2.17 xTaskNotifyFromISR() ............................................................................................. 108 2.18 xTaskNotifyGive() .................................................................................................... 113 2.19 vTaskNotifyGiveFromISR() ...................................................................................... 116 2.20 xTaskNotifyStateClear() .......................................................................................... 119 2.21 ulTaskNotifyTake() .................................................................................................. 121 2.22 xTaskNotifyWait() .................................................................................................... 124 2.23 uxTaskPriorityGet() ................................................................................................. 127 2.24 vTaskPrioritySet() .................................................................................................... 129 2.25 vTaskResume() ....................................................................................................... 131 2.26 xTaskResumeAll() ................................................................................................... 133 2.27 xTaskResumeFromISR() ......................................................................................... 136 2.28 vTaskSetApplicationTaskTag() ................................................................................ 139 2.29 vTaskSetThreadLocalStoragePointer() .................................................................... 141 2.30 vTaskSetTimeOutState() ......................................................................................... 143 2.31 vTaskStartScheduler() ............................................................................................. 145 2.32 vTaskStepTick() ...................................................................................................... 147 2.33 vTaskSuspend() ...................................................................................................... 149 2.34 vTaskSuspendAll() .................................................................................................. 151 2.35 taskYIELD() ............................................................................................................. 153 Chapter 3 Queue API ......................................................................................................... 155 3.1 vQueueAddToRegistry() .......................................................................................... 156 3.2 xQueueAddToSet() ................................................................................................. 158 3.3 xQueueCreate()....................................................................................................... 160 3.4 xQueueCreateSet() ................................................................................................. 162 3.5 xQueueCreateStatic() .............................................................................................. 166 3.6 vQueueDelete() ....................................................................................................... 168 3.7 pcQueueGetName() ................................................................................................ 170 3.8 xQueueIsQueueEmptyFromISR() ............................................................................ 171 3.9 xQueueIsQueueFullFromISR() ................................................................................ 172 3.10 uxQueueMessagesWaiting() ................................................................................... 173 3.11 uxQueueMessagesWaitingFromISR() ..................................................................... 174 3.12 xQueueOverwrite() .................................................................................................. 176 3.13 xQueueOverwriteFromISR() .................................................................................... 178 3.14 xQueuePeek() ......................................................................................................... 180 3.15 xQueuePeekFromISR() ........................................................................................... 183 3.16 xQueueReceive() .................................................................................................... 184 vi
3.17 xQueueReceiveFromISR() ...................................................................................... 187 3.18 xQueueRemoveFromSet() ...................................................................................... 190 3.19 xQueueReset() ........................................................................................................ 192 3.20 xQueueSelectFromSet().......................................................................................... 193 3.21 xQueueSelectFromSetFromISR() ........................................................................... 195 3.22 xQueueSend(), xQueueSendToFront(), xQueueSendToBack()............................... 197 3.23 xQueueSendFromISR(), xQueueSendToBackFromISR(), xQueueSendToFrontFromISR() .............................................................................. 200 3.24 uxQueueSpacesAvailable() ..................................................................................... 204 Chapter 4 Semaphore API ................................................................................................. 206 4.1 vSemaphoreCreateBinary() ..................................................................................... 207 4.2 xSemaphoreCreateBinary() ..................................................................................... 210 4.3 xSemaphoreCreateBinaryStatic() ............................................................................ 213 4.4 xSemaphoreCreateCounting() ................................................................................ 216 4.5 xSemaphoreCreateCountingStatic() ........................................................................ 219 4.6 xSemaphoreCreateMutex() ..................................................................................... 222 4.7 xSemaphoreCreateMutexStatic() ............................................................................ 224 4.8 xSemaphoreCreateRecursiveMutex() ..................................................................... 226 4.9 xSemaphoreCreateRecursiveMutexStatic() ............................................................ 229 4.10 vSemaphoreDelete() ............................................................................................... 231 4.11 uxSemaphoreGetCount() ........................................................................................ 232 4.12 xSemaphoreGetMutexHolder()................................................................................ 233 4.13 xSemaphoreGive() .................................................................................................. 234 4.14 xSemaphoreGiveFromISR() .................................................................................... 236 4.15 xSemaphoreGiveRecursive() .................................................................................. 239 4.16 xSemaphoreTake() ................................................................................................. 242 4.17 xSemaphoreTakeFromISR() ................................................................................... 245 4.18 xSemaphoreTakeRecursive() .................................................................................. 247 Chapter 5 Software Timer API ........................................................................................... 251 5.1 xTimerChangePeriod() ............................................................................................ 252 5.2 xTimerChangePeriodFromISR() .............................................................................. 255 5.3 xTimerCreate() ........................................................................................................ 257 5.4 xTimerCreateStatic() ............................................................................................... 261 5.5 xTimerDelete() ........................................................................................................ 265 5.1 xTimerGetExpiryTime() ........................................................................................... 267 5.1 pcTimerGetName() ................................................................................................. 269 5.2 xTimerGetPeriod()................................................................................................... 270 5.3 xTimerGetTimerDaemonTaskHandle() .................................................................... 271 5.4 pvTimerGetTimerID() .............................................................................................. 272 5.5 xTimerIsTimerActive() ............................................................................................. 274 5.6 xTimerPendFunctionCall() ....................................................................................... 276 5.7 xTimerPendFunctionCallFromISR() ........................................................................ 278 vii
5.8 xTimerReset() ......................................................................................................... 281 5.9 xTimerResetFromISR() ........................................................................................... 284 5.10 vTimerSetTimerID() ................................................................................................. 286 5.11 xTimerStart() ........................................................................................................... 288 5.12 xTimerStartFromISR() ............................................................................................. 290 5.13 xTimerStop() ........................................................................................................... 292 5.14 xTimerStopFromISR() ............................................................................................. 294 Chapter 6 Event Groups API .............................................................................................. 296 6.1 xEventGroupClearBits() ........................................................................................... 297 6.2 xEventGroupClearBitsFromISR() ............................................................................ 299 6.3 xEventGroupCreate() .............................................................................................. 302 6.4 xEventGroupCreateStatic() ..................................................................................... 304 6.1 vEventGroupDelete() ............................................................................................... 306 6.2 xEventGroupGetBits() ............................................................................................. 307 6.1 xEventGroupGetBitsFromISR() ............................................................................... 308 6.2 xEventGroupSetBits() .............................................................................................. 309 6.3 xEventGroupSetBitsFromISR() ................................................................................ 311 6.1 xEventGroupSync() ................................................................................................. 314 6.2 xEventGroupWaitBits() ............................................................................................ 318 Chapter 7 Kernel Configuration .......................................................................................... 321 7.1 FreeRTOSConfig.h .................................................................................................. 322 7.2 Constants that Start “INCLUDE_” ............................................................................ 323 7.3 Constants that Start “config” .................................................................................... 327 APPENDIX 1: Data Types and Coding Style Guide .......................................................... 347 INDEX ................................................................................................................................... 350 List of Figures Figure 1 An example of the table produced by calling vTaskGetRunTimeStats() .................... 72 Figure 2 An example of the table produced by calling vTaskList() ........................................... 94 Figure 3 Time line showing the execution of 4 tasks, all of which run at the idle priority ........ 332 Figure 4 An example interrupt priority configuration .............................................................. 335 viii
分享到:
收藏