ucOSII 学习之初识实时操作系统-时间管理
来源:互联网 发布:unix高级编程第四版pdf 编辑:程序博客网 时间:2024/05/16 18:02
ucosII需要提供定时中断,以实现禅师和延时控制功能。这个定时中断叫做时钟节拍。时钟节拍的频率越高,系统的负荷越重。
OSTimeTick()用于通知ucosII发生了时钟节拍中断。
OSTimeDly()
OSTimeDlyHMSM()
OSTimeDlyResume()
OSTimeGet()
OSTimeSet()
这些函数可以再OS_TIME.c文件中找到。必须通过OS_CFG.h中的一些常量,才能使一些时间管理函数呗允许使用。
1 OSTimeDly()
将任务延时一段特定时间的功能函数。时间长短有指定的时钟节拍的数目决定。调用该函数会使系统进行一次任务调度,从而去执行下一个优先级最高的任务就绪。调用延时函数后一旦规定的时间期满或有其他的任务通过调用OSTimeDlyResume()取消了延时,他就会立即进入就绪状态。
时钟节拍数 1--65536.指定0值不进行任何延时。
//1.OSTimeDly()函数
void OSTimeDly(INT16U ticks)
{
#if OS_CRITICAL_METHOD== 3
#endif
//调用OSTimeDly()的进程自己把自己从就绪控制矩阵中拿下来,
//即:去掉调度器(x,y)矩形阵列(OSRdyTbl,OSRdyGrp)中该task对应的bit位,使得调度器不考虑
//该task的调度
//延时ticks值,放入OSTCBDly单元,在os时钟滴答处理函数OSTimeTick()中,会处理该单元[gliethttp]
//因为本task正在运行,所以本task现在的优先级最高,现在本task已经将自己从就绪控制矩阵中--调度器(x,y)矩形阵列
//把自己摘掉,所以调度函数OS_Sched()一定会切换到另一个task中执行新task的代码[gliethttp]
}
想延时一个时钟节拍,而实际上只在0--1个节拍之间结束延时。所以如果程序想延时至少一个节拍,必须指定延时2个节拍。
2 OSTimeDlyHMSM()按时分秒延时函数
3恢复延时的任务 OSTimeDlyResume()
4
- ucOSII 学习之初识实时操作系统-时间管理
- ucosii之时间管理
- 嵌入式实时操作系统UCOSII(邵贝贝)--笔记之实时系统概念(第二章)
- ucosII占先式实时操作系统思想
- ucosII实时操作系统 实现--问答》》待续
- ucosii实时操作系统的任务调度
- ucosii之任务管理
- RTX51 Tiny实时操作系统学习笔记—初识RTX51 Tiny
- ucosII初识
- QNX-分布式实时操作系统初识
- Ucosii的实时操作系统(任哲)——第二章
- ucosii的实时操作系统(任哲)——第一章
- uCOSII中os_tmr时间管理模块
- UCOSii(三)——时间管理
- uCOSII操作系统学习笔记(1)
- UCOSII操作系统之事件管理机制探究
- 操作系统栈溢出检测之ucosII篇
- 实时操作系统的任务调度示例之时间片
- php下载文件头信息
- 奇异值分解讲解
- 简单,就是最好的网络推广的方法
- Android自定义DataTimePicker(日期选择器)
- 黑马程序员_面向对象
- ucOSII 学习之初识实时操作系统-时间管理
- 线段树入门(poj 3274 3468 2528)
- DevExpress GridControl 自动适应高度
- Protocol Buffer简介
- 集成百度语音sdk到智能家居平台中
- android-顺时逆时旋转的仪表盘控件
- 2014年8月18日 聚焦互联网金融
- Android中的ListView用法(自动滚动)
- 计算机系统要素:第五章 计算机体系结构