Files
cosyos/Demo-Build/demo_task.c
T
2026-07-21 20:11:06 +00:00

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