购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6.4 MQX任务模板文件(task_templates.c)解析

默认的任务模板列表MQX_template_list[]在“...\mqx\app\task_templates.c”文件中,它是一个以全0结尾的任务模板结构体类型(task_template_struct)常数数组,存储于Flash区。在2.6.3节讲述的MQX初始化结构体常数MQX_init_struct中,含有一个指针指向数组首地址,它定义了一组初始化模板,MQX初始化时,会依据MQX_template_list[]中的每个任务模板生成一个任务实例,当应用程序运行时,能按任务模板生成其他任务,该模板由任务模板定义或应用程序动态定义。

任务模板结构体类型task_template_struct在“...\mqx\include\mqx.h”文件中声明,可以读作任务模板结构体类型。有关字段含义在《MQX参考手册》3.2.20节给出。

各字段含义见表2-14。

表2-14 任务模板结构体成员说明

续表

任务模板包含了若干表示任务的属性。

(1)任务编号:MQX系统中任务模板的唯一标识符。任务编号由自己设置,只要不重复即可。

(2)任务函数:任务实现的具体函数。

(3)任务栈大小:任务分配的栈的空间。一般简单任务分配1 000 B就足够了,

(4)任务优先级:同其他可抢占RTOS一样,就绪的高优先级任务可以抢占的优先级任务的运行权限。用户设定任务优先级的数字越大,优先级别越低。用户任务优先级在0~5级时能够在一定程度上屏蔽外设中断。优先级根据需求设定,若该任务比其他任务的优先级高,则设置优先级值小于其他值即可。

(5)任务名:一个可以表示任务所属模板的字符串。

(6)任务调度属性:可附加设定任务类型为自启动(系统启动后立即运行,必须保证至少一个应用任务是自启动类型的)、启动轮询属性等。

(7)初始参数:在创建任务时,若没特别指定,任务函数将默认载入任务模板中设定的任务参数。

(8)时间片长度:在启动轮询属性时,时间片长度设定了任务占有CPU的最长时间。时间片长度是可在BSP工程中配置的,默认情况下,时间片长度为5 ms。 06dU9TPhn8a3l4gm3f9QM0RJJ0s8QqXkqYXF/g1F0cD6k4Vo+g6GoUMbImWoLyQe

点击中间区域
呼出菜单
上一章
目录
下一章
×