关于freertos 的列表和列表项问题
typedef struct xLIST{
listFIRST_LIST_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
configLIST_VOLATILE UBaseType_t uxNumberOfItems;
ListItem_t * configLIST_VOLATILE pxIndex; /*< Used to walk through the list.Points to the last item returned by a call to listGET_OWNER_OF_NEXT_ENTRY (). */
MiniListItem_t xListEnd; /*< List item that contains the maximum possible item value meaning it is always at the end of the list and is therefore used as a marker. */
listSECOND_LIST_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
} List_t;
查看上文
#ifndef configLIST_VOLATILE
#define configLIST_VOLATILE
#endif /
configLIST_VOLATILE在这里有什么用,为什么这么定义变量?
VOLATILE 就是Volatile,在config.h自定义实现的,如果没有就是没有吧,我记得好像是这样子的 * To use volatile list structure members then add the following line to
* FreeRTOSConfig.h (without the quotes):
* "#define configLIST_VOLATILE volatile"
list.h里面已经注释很详细了,至于为啥这么定义,查一下volatile的用法就懂了 volatile还是防止编译器做优化
页:
[1]