μC/OS任务状态及具体内容描述

本文详细介绍了μC/OS操作系统中任务的五种状态:睡眠、就绪、运行、等待和中断服务状态,以及它们之间的转换。讨论了如何使用OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()宏来控制中断响应。此外,还阐述了μC/OS的空闲任务和统计任务的功能。文章还深入探讨了任务优先级、堆栈管理,包括任务堆栈的定义、初始化和增长方向,并解析了任务控制块(OS_TCB)的结构和管理。最后,讲解了μC/OS-II的任务调度机制,包括任务就绪表和调度器的工作原理。
摘要由CSDN通过智能技术生成

1、任务的5种状态:①睡眠状态(任务只以代码的形式驻留在程序空间,还没有交给操作系统管理时的情况)②就绪状态(系统为任务配备了任务控制块且在任务就绪表中进行了就绪登记)③运行状态(处于就绪状态的任务经过调度获得了CPU的使用权)④等待状态(正在运行的任务,需要等待一段时间或者需要等待一个事件发生在运行的时候为等待状态)⑤中断服务状态(一个正在运行的任务一旦响应中断申请就会中止运行而去执行中断服务程序)

25种状态之间的转换



1.任务的执行代码通常是一个无限循环结构,为了有效的对中断进行控制,可使用定义的宏OS_ENTER_CRITICAL()OS_EXIT_CRITICAL()来控制任务何时响应中断,何时屏蔽中断。在运行这两个宏之间的代码时是不会响应中断的,这种受代码抱回的代码段叫做临界段

μC/OS预定义了两为应用程序服务的系统任务,空闲任务和统计任务。空闲任务是每个应用程序必须使用的,而统计任务是应用程序根据实际需要来选择使用的

1.空闲任务

在空闲任务的代码中有一行为pdata=pdata,因为在这个任务中没有用到参数pdata。因为一些编译器会对一个定义了却没有使用的变量进行报错,从而加了这行代码,那么编译器就不会报错

2.统计任务(OSTaskStat())

统计任务每秒计算一次CPU在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量OSC-PUUsage

 

2.1.4

μC/OS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值