任务管理(一)
来源:互联网 发布:超级球星的体测数据 编辑:程序博客网 时间:2024/06/05 16:23
1.滴答定时器:在STM32中SysTick就是用于产生系统时基的,SysTick有4个控制寄存器,如下表
SysTick是STM32的硬件的一部分。只是运用RTOS的时候利用它来产生RTOS使用的另外的时钟基准。
用 OSTimeDlyHMSM ();和OSTimeDly();函数来实现系统延时,OSTimeDlyHMSM ()函数可以直接设置时分秒来实现想要的延时,但是OSTimeDly();函数需要通过计算来实现想要的延时,Tick时基X设置的tick数。在调用延时函数的时候OS会调用任务切换函数进行任务切换。
2.在UCOSIII系统中,使用中断函数时与不使用UCOSIII时的区别只是在中断函数体中,需要用到中断保护函数OSIntEnter(); 和OSIntExit();
3.UCOSIII中的任务由三部分组成:任务堆栈,任务控制块和任务函数。
A.任务堆栈:上下文切换的时候用来保存任务的工作环境,即STM32的内部寄存器值。
B.任务控制块:用来记录任务的各个属性。
C.任务函数:由用户编写的任务处理函数,即实实在在干活的。任务一般是一个无限循环,但是有的不是无限循环,比如有的任务只需要执行一次,所有就不用无限循环(StartTask()函数)。
4.UCOSIII系统默认有5个系统任务:
A.空闲任务:UCOSIII创建的第一个任务,UCOSIII必须创建的任务,由UCOSIII自动创建,不需要用户手动创建
B.时钟节拍任务:此任务也是必须创建的任务。
C.统计任务:可选任务,用来统计CPU使用率和各个任务的堆栈使用量。此任务是可选任务,由宏控制是否使用
D.定时任务:用来向用户提供定时服务,可选任务。
E.中断服务管理任务:可选任务。
5.UCOSIII任务状态:
A.休眠态:任务已经在CPU的flash中,但是还不受UCOSIII管理。
B.就绪态:系统为任务分配了任务控制块,并且任务已经就绪表中登记,这时这个任务就具有了运行条件
C.运行态:任务获得CPU的使用权,正在运行
D.等待态:正在运行的任务需要等待一段时间,或者等待某个时间,这个任务就进入了等待态,此时系统就会把CPU的使用权转交给别的任务。
E.中断服务态:当发生中断时,当前正在运行的任务会被挂起,CPU转而去执行中断服务函数,此时任务的任务状态叫做中断服务态。
6.任务转换图:
地址
- 任务管理 (一)
- 任务管理(一)
- 任务管理
- 任务管理
- 任务管理
- 多任务--任务管理
- 用信号量实现实时多任务管理(一)
- IBM HACMP 系列 -- 后期安装工作和管理任务一
- net利用quartz任务调度,开发Job管理系统一
- Spring整合quartz配置【一】基于MethodInvokingJobDetailFactoryBean实现任务管理
- Spring Boot(一):添加任务管理的解决办法
- 如何进行任务与缺陷跟踪管理?~ TechExcel DevSuite 五虎上将篇之任务与缺陷管理高手 DevTrack(一)
- 任务一
- 任务驱动管理实践
- jbpm 任务管理
- Task management 任务管理
- OUTLOOK任务管理使用方法
- quartz任务管理组件
- web.xml 配置详解
- c#——将错误日志记录在txt文本里
- 线程面试题汇总
- Scrapy入门
- 哈哈
- 任务管理(一)
- 适配器模式
- 求一个数组中连续子数组的最大和
- Arduino + Lcd1602 显示当前环境温度
- 在jquery 中创建新标签和属性的方法 手记
- 8.1 enum类型
- springmvc返回json数据406错误的解决办法
- #476 Stone Game
- HashMap详细介绍(源码解析)和使用示例