任务不允许从实现函数中返回如果一个任务不再需要,可以用vTaskDelete()删除;
一个任务函数可以用来创建多个任务,各任务均是独立的执行实例,拥有属于自己的栈空间
典型的任务函数结构:
voidATaskFunction( voidpvParameters ) { /可以像普通函数一样定义变量。用这个函数创建的每个任务实例都有一个属于自己的iVarialbleExample变 量。但如果iVariableExample被定义为static,这一点则不成立 – 这种情况下只存在一个变量,所有的任务实 例将会共享这个变量。 /
intiVariableExample = 0; /任务通常实现在一个死循环中。 /
for( ;; ) { /完成任务功能的代码将放在这里。 /} /如果任务的具体实现会跳出上面的死循环,则此任务必须在函数运行完之前删除。传入NULL参数表示删除 的是当前任务 /vTaskDelete( NULL ); }
以上就是关于uCOS和FreeRTOS在临界区上处理的不同方式,不过本质上是一样的全部的内容,包括:uCOS和FreeRTOS在临界区上处理的不同方式,不过本质上是一样的、free rtos和ucos的区别、STM32 FreeRTOS中延时可以用vTaskDelay,但是计时,定时该如何实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)