4.2.9周期任务用的延迟--xTaskDelayUntil 接口:BaseType_txTaskDelayUntil(TickType_tconstpxPreviousWakeTime,constTickType_txTimeIncrement) 形参1:pxPreviousWakeTime,上一次唤醒时间,第一次需要用接口xTaskGetTickCount()获取;形参2:xTimeIncrement,想要延迟的时间。 返回值:用于判读任务是否确实需要delay。 1BaseType_txTaskDelayUntil(TickType_tconstpxPreviousWakeTi...

  aXkxbv0goCp5   8天前   25   0   0 嵌入式

4.2.6任务删除--vTaskDelete 这个接口并不复杂,主要是在判断是否要放到xTasksWaitingTermination列表里,还是直接处理。 1voidvTaskDelete(TaskHandle_txTaskToDelete) 2{ 3TCB_tpxTCB; 4BaseType_txDeleteTCBInIdleTask=pdFALSE; 5BaseType_txTaskIsRunningOrYielding; 6 7taskENTER_CRITICAL(); 8{ 9/Ifnullispassedinherethenitisthecallingtaskthatis ...

  aXkxbv0goCp5   10天前   30   0   0 嵌入式

4、task.c解析 时隔两年,还是决定继续把这个系统解析完成,有始有终。不过这次源码又从官网上下载了最新的,可能和我以前看的略有区别,但应该基本不影响理解。 接下来正式开始。 4.1.3新增或是遗漏的两个宏 1/ReturnspdTRUEifthetaskisactivelyrunningandnotscheduledtoyield./ 2/如果任务正在运行并且没有被调度,则返回TRUE。/ 3definetaskTASK_IS_RUNNING(pxTCB)(((pxTCB)pxCurrentTCB)?(pdTRUE):(pdFALSE)) 4definetaskTASK_IS_RUN...

  aXkxbv0goCp5   12天前   43   0   0 嵌入式

4、task.c解析 task.c中包含任务创建、任务调度、delay等等接口,很多需要仿真才能弄清楚里面的机制,文章里只能尽可能详细地描述每一个流程。 4.1宏和数据结构 源码中有涉及的几个宏和数据结构需要先说明一下,其中几个宏是之前讲链表时遗漏的,在这里再补充一下。 4.1.1链表中遗漏的宏 1//设置链表项的持有者 2definelistSET_LIST_ITEM_OWNER(pxListItem,pxOwner)((pxListItem)->pvOwner=(void)(pxOwner)) 3//获取链表项的持有者 4definelistGET_LIST_ITEM_OWNER(...

  aXkxbv0goCp5   2023年11月01日   126   0   0 嵌入式
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~