转
本期教程是基于μCOS-III + STemWin5.22 + FatFS实现的STemWin多任务(IAR和MDK工程均做了)。
一般性的应用使用STemWin的单任务就可以,关于使用STemWin多任务和单任务的优缺点在用户手册上面说的很清楚。
3.1 STemWin多任务的创建
3.2 实验说明
3.3 例子下载
3.4 总结
1
|
|
|
|
3.1 STemWin多任务的创建
这里创建了3个STemWin任务,任务如下:
复制代码
/*
*********************************************************************************************************
* 函 数 名: AppTaskGUI
* 功能说明: GUI任务0
* 形 参:p_arg 是在创建该任务时传递的形参
* 返 回 值: 无
* 优 先 级:OS_CFG_PRIO_MAX - 6u
*********************************************************************************************************
*/
extern void MainTask(void);
static void AppTask0GUI(void *p_arg)
{
(void)p_arg; /* 避免编译器告警 */
while (1)
{
MainTask();
}
}
/*
*********************************************************************************************************
* 函 数 名: AppTaskGUI
* 功能说明: GUI任务1
* 形 参:p_arg 是在创建该任务时传递的形参
* 返 回 值: 无
* 优 先 级:OS_CFG_PRIO_MAX - 5u
*********************************************************************************************************
*/
extern void Task_1(void);
static void AppTask1GUI(void *p_arg)
{
(void)p_arg; /* 避免编译器告警 */
while (1)
{
Task_1();
}
}
/*
*********************************************************************************************************
* 函 数 名: AppTaskGUI
* 功能说明: GUI任务2
* 形 参:p_arg 是在创建该任务时传递的形参
* 返 回 值: 无
* 优 先 级:OS_CFG_PRIO_MAX - 4u
*********************************************************************************************************
*/
extern void Task_2(void);
static void AppTask2GUI(void *p_arg)
{
(void)p_arg; /* 避免编译器告警 */
while (1)
{
Task_2();
}
}
|
|
|
|
|
具体任务实现的功能可以看相应的工程文件,下面是三个任务的工程截图:
|
|
|
|
|
3.2 实验说明:
本实验演示了一个如下的例子:
|
|
|
|
|
3.4 总结
学期本期实例前,记得看一下手册上面对多任务的介绍。
|
|
|
|
|