今天突然心血来潮决定写点今天学freeRTOS操作系统的心得,这也是我第一次写博客,有点水,请多多包涵。
free操作系统是美国的 Richard Barry 于 2003 年发布。然后现在好像被亚马逊收购了。
说到列表我个人感觉是很多的结构体串起来的东西,然后结构体保存一些函数或者标志地址。这些结构体就是链表里的节点。如下所示
/* 节点结构体定义 */
struct xLIST_ITEM
{
TickType_t xItemValue; /* 辅助值,用于帮助节点做顺序排列 */
struct xLIST_ITEM * pxNext; /* 指向链表下一个节点 */
struct xLIST_ITEM * pxPrevious; /* 指向链表前一个节点 */
void * pvOwner; /* 指向拥有该节点的内核对象,通常是TCB */
void * pvContainer; /* 指向该节点所在的链表 */
};
typedef struct xLIST_ITEM ListItem_t; /* 节点数据类型重定义 */
代码旁边有注释,大家应该一看就懂了。这里面最重要的是定义了连个上一个和下一个节点的结构体的地址。如果用12864和矩阵键盘做菜单,用逻辑绕来绕去的实现,非常伤脑筋,搞到最后自己有可能都绕进去了。但是用列表这个可以上下滑动的功能,做无限的菜单都游刃有余。