mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-08-17 16:52:27 +08:00
58 lines
2.0 KiB
C
58 lines
2.0 KiB
C
/**************************************************************************//**
|
|
* @item CosyOS-III 例程(系统构建)
|
|
* @file demo_task.c
|
|
* @brief 例程-任务
|
|
* @author 迟凯峰
|
|
* @version V1.1.0
|
|
* @date 2026.07.22
|
|
******************************************************************************/
|
|
|
|
#if 0 /* 编译开关 */
|
|
|
|
#include "CosyOS.H" // 用户的各个c文件中应包含此文件
|
|
#include <stdio.h> // for printf
|
|
|
|
/*-----------------------*
|
|
| 创建任务 - 参数说明表 |
|
|
|-----------------------+-----------------------------------------------------------*
|
|
| 任务名称 | 任务优先级 | 任务栈大小 | 安全运行时 | 任务名称文本(兼容模式) |
|
|
|----------+------------+------------+------------+---------------------------------|
|
|
| task_1 | 1级 | 512字节 | 0为无限长 | 0为自动引用任务名称,即"task_1" |
|
|
|----------+------------+------------+------------+---------------------------------|
|
|
| task_2 | 2级 | 512字节 | 9滴答周期 | "task_led"为任务名称文本 |
|
|
*-----------------------------------------------------------------------------------*/
|
|
|
|
/* 静态创建 task_1 */
|
|
uCreateTask(task_1, 1, 512, 0, 0)
|
|
{
|
|
while(1){
|
|
printf("task_1\r\n");
|
|
uDelay_ms(1000);
|
|
}
|
|
}
|
|
|
|
/* 动态创建 task_2 */
|
|
dCreateTask(task_2, 2, 512, 9, "task_led")
|
|
{
|
|
while(1){
|
|
printf("task_2\r\n");
|
|
uDelay_ms(1000);
|
|
}
|
|
}
|
|
|
|
/*
|
|
* 启动钩子
|
|
* 除了启动用户任务以外,启动钩子还适用于那些允许缓期执行的、
|
|
* 需要开中断以后执行的、需要调用任务级服务执行的初始化工作。
|
|
* 如果不想在启动任务过程中进行任务调度,可开启调度锁。
|
|
*/
|
|
void start_hook(void)
|
|
{
|
|
// uScheduleLock();
|
|
uStartTask_Ready(task_1); // 启动 task_1,初始状态为就绪状态
|
|
uStartTask_Ready(task_2); // 启动 task_2,初始状态为就绪状态
|
|
// uScheduleUnlock();
|
|
}
|
|
|
|
#endif
|