FreeRTOS之命名规则
变量命名:
Variables are prefixed with their type: ‘c’ for char, ‘s’ for int16_t (short), ‘l’ int32_t (long), and ‘x’ for BaseType_t and any other non-standard types (structures, task handles, queue handles,etc.)
If a variable is unsigned, it is also prefixed with a ‘u’. If a variable is a pointer, it is also prefixedwith a ‘p’. For example, a variable of type uint8_t will be prefixed with ‘uc’, and a variable of type pointer to char will be prefixed with ‘pc’.
函数名命名:
Functions are prefixed with both the type they return, and the file they are defined within. For
example:
vTaskPrioritySet() returns a void and is defined within task.c.
xQueueReceive() returns a variable of type BaseType_t and is defined within queue.c.
pvTimerGetTimerID() returns a pointer to void and is defined within timers.c.
File scope (private) functions are prefixed with ‘prv’.
宏定义命名:
Most macros are written in upper case, and prefixed with lower case letters that indicate where the macro is defined. Table 3 provides a list of prefixes.
| Table 3. Macro prefixes | |
| Prefix | Location of macro definition |
| port (for example, portMAX_DELAY) | portable.h or portmacro.h |
| task (for example, taskENTER_CRITICAL()) | task.h |
| pd (for example, pdTRUE) | projdefs.h |
| config (for example, configUSE_PREEMPTION) | FreeRTOSConfig.h |
| err (for example, errQUEUE_FULL) | projdefs.h |
Note that the semaphore API is written almost entirely as a set of macros, but follows the function naming convention, rather than the macro naming convention.
The macros defined in Table 4 are used throughout the FreeRTOS source code.
| Table 4. Common macro definitions | |
| Macro | Value |
| pdTRUE | 1 |
| pdFALSE | 0 |
| pdPASS | 1 |
| pdFAIL | 0 |

浙公网安备 33010602011771号