μCOS-II系统之时间管理函数OSTimeDly()
2011-03-15 22:48
260 查看
因实际项目需要,近段时间花了一点时间学习了μCOS-II实时系统。该系统用于多媒体播放器,现在刚好通过结合实际产品系统的学习一下μCOS-II操作系统。很幸运有这个机会系统的学习下。下面说说μCOS-II系统中的时间管理部分的系统函数。
μC/OS-II提供了若干个时间管理服务函数,可以满足任务在运行过程中对时间管理的需求。在使用时间管理服务函数时,必须十分清楚一个事实:时间管理服务函数是以系统节拍为处理单位的,实际的时间与希望的时间是有误差的,最坏的情况下误差接近一个系统节拍。因此时间管理服务函数只能用在对时间精度要求不高的场合,或者时间间隔较长的场合。
下面来分析系统延时函数OSTimeDly()调用图解:
如上图所示:形象的说明了OSTimeDly()工作方式。下面通过一个实例来说明下:我们设计一个任务,让一个LED以50个时钟节拍为单位
闪耀,说明OSTimeDly()函数的用途。由于篇幅关系,只给出任务主要处理代码。
void TaskLED (void *pdata)
{
…… //初始化代码
while (1) //循坏控制LED以固定频率闪烁
{
IO0CLR = LED1; //点亮LED
OSTimeDly(25); //延时25个节拍
IO0SET = LED1; //熄灭LED
OSTimeDly(25); //延时25个节拍
}
}
注意:上面的设计是OSTimeDly() 控制任务的周期性执行,还可以用它来控制任务的运行节拍。
μC/OS-II提供了若干个时间管理服务函数,可以满足任务在运行过程中对时间管理的需求。在使用时间管理服务函数时,必须十分清楚一个事实:时间管理服务函数是以系统节拍为处理单位的,实际的时间与希望的时间是有误差的,最坏的情况下误差接近一个系统节拍。因此时间管理服务函数只能用在对时间精度要求不高的场合,或者时间间隔较长的场合。
下面来分析系统延时函数OSTimeDly()调用图解:
如上图所示:形象的说明了OSTimeDly()工作方式。下面通过一个实例来说明下:我们设计一个任务,让一个LED以50个时钟节拍为单位
闪耀,说明OSTimeDly()函数的用途。由于篇幅关系,只给出任务主要处理代码。
void TaskLED (void *pdata)
{
…… //初始化代码
while (1) //循坏控制LED以固定频率闪烁
{
IO0CLR = LED1; //点亮LED
OSTimeDly(25); //延时25个节拍
IO0SET = LED1; //熄灭LED
OSTimeDly(25); //延时25个节拍
}
}
注意:上面的设计是OSTimeDly() 控制任务的周期性执行,还可以用它来控制任务的运行节拍。
相关文章推荐
- μCOS-II系统之时间管理函数OSTimeDlyHMSM()
- μCOS-II系统之时间管理函数OSTimeDlyHMSM()
- μCOS-II系统之时间管理函数OSTimeDlyHMSM()
- μCOS-II系统之时间管理函数OSTimeDly()
- μCOS-II系统之时间管理函数OSTimeDlyResume()
- μCOS-II系统之时间管理函数OSTimeDlyResume()
- MSP430移植μCOS-II系统之时间管理函数OSTimeDlyHMSM()延时不准确解析
- μCOS-II系统之时间管理函数OSTimeGet()
- μCOS-II系统之时间管理函数OSTimeGet()
- linux的时间管理(与驱动程序相关,非应用程序使用)内核和普通系统函数和使用c语言库的区别
- ucos II 系统学习之------时间管理函数OSTimeGet()
- VC++获取当前系统时间日期 GetSystemTime()函数的用法
- IPython 下的信息收集-魔力函数(page pinfo who等)- 千月的python linux 系统管理指南学习笔记(9)
- c语言里面的调用显示系统时间的函数及实现过程是什么
- 获取系统时间函数
- 读《时间管理 - 给系统管理员》
- mysql now()函数调用系统时间不对修正方法
- ##II 第四单元##管理系统中的简单分区和文件系统
- linux011文件系统中缓冲区管理函数分析
- Linux_系统时间管理