- 简述:
- uC/OS任务分为2种:系统任务和用户任务
- 任务组成:
- 任务程序代码(函数)
- 任务堆栈
- 任务控制块
- 任务的状态:
- 睡眠:任务没有配备任务控制块或被剥夺了任务控制块时的状态
- 就绪:系统为任务配备了任务控制块且在任务就绪表中进行了就绪登记,任务具备了运行的充分条件
- 运行:处于就绪状态的任务经调度器判断获得了CPU的使用权,则任务就进入了运行状态
- 等待:正在运行的任务,需要等待一段时间或需要等待一个事件发生再运行时,该任务就会把CPU的使用权让给其他任务而使任务进行等待状态
- 中断服务态:一个正在运行的任务一旦响应中断申请就会中止运行转而去执行中断服务程序,此时这个任务就会被挂起,进入中断服务态
- 硬件初始化:
- 模仿官方例程,把所有的外设初始化都放在bsp.c文件中的bsp_init()函数
- 本章节只用到led和串口
- 代码如下:
/************************************************** * 函数名:void BSP_Init (void) * 描述 :外设初始化 * 输入 :无 * 输出 :无 * 返回 :无 * 调用 :内部调用 **************************************************/ void BSP_Init (void) { Cache_Enable(); //打开L1-Cache HAL_Init(); //初始化HAL库 Stm32_Clock_Init(432,25,2,9); //设置时钟,216Mhz // delay_init(216); uart_init(115200); //串口初始化 BSP_LED_Init(); //led 初始化 }
- 定义任务堆栈大小
-
/* ********************************************************************************************************* * 任务堆栈大小 ********************************************************************************************************* */ #define APP_TASK_START_STK_SIZE 256u #define APP_TASK_LED_STK_SIZE 512u #define APP_TASK_USART_STK_SIZE 512u
-
- 定义任务优先级
-
/* ********************************************************************************************************* * 任务 优先级 **************
-
【1】uC/OS-III应用开发————>创建任务(STM32F767)
最新推荐文章于 2023-10-11 14:42:20 发布
本文详细介绍了uC/OS-III实时操作系统中任务的管理,包括任务的五种状态、任务的构成、任务创建流程,以及用户任务与系统任务的区别。通过具体实例,展示了如何在STM32F767上使用uC/OS-III创建和管理任务。

最低0.47元/天 解锁文章
456

被折叠的 条评论
为什么被折叠?



