📄 createpertask.cpp
字号:
#ifndef CREATE_PERIODIC_TASK#define CREATE_PERIODIC_TASK#include "createtask.cpp"bool ttCreatePeriodicTask(char *name, double release, double period, double priority, double (*codeFcn)(int, void*)) { TaskNode *n; Handler* hdl; Timer *ti; if (ttCreateTask(name, period, priority, codeFcn)) { n = (TaskNode*) rtsys->taskList->getLast(); // Creating interrupt handler hdl = new Handler; hdl->name = NULL; hdl->handlerID = rtsys->nbrOfHandlers + 1; hdl->execTime = 0.0; hdl->priority = -1000.0; hdl->segment = 0; hdl->display = false; hdl->invokedBy = NULL; hdl->data = n->getTask(); hdl->dataMATLAB = NULL; hdl->codeFcn = rtsys->periodicTaskHandlerCode; hdl->codeFcnMATLAB = NULL; rtsys->handlerList->appendNode(new HandlerNode(hdl)); rtsys->nbrOfHandlers++; // Creating periodic timer ti = new Timer; ti->name = NULL; ti->time = release; ti->period = period; ti->isPeriodic = true; ti->wcetORtimer = false; ti->dlORtimer = false; ti->handler = hdl; ti->task = NULL; rtsys->timerQ->insertSorted(new TimerNode(ti)); n->getTask()->perTimer = ti; return true; } else { return false; }}bool ttCreatePeriodicTask(char *name, double release, double period, double priority, double (*codeFcn)(int, void*), void* data) { TaskNode *n; if (ttCreatePeriodicTask(name, release, period, priority, codeFcn)) { n = (TaskNode*) rtsys->taskList->getLast(); n->getTask()->data = data; return true; } else { return false; }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -