uc/os:时间管理
uc/os与时间管理有关的函数在os_time.c这个文件里面,包含操作系统时间的设置及获取,对任务的延时,任务按时分秒毫秒延时,取消任务的延时共5个系统调用,其中对任务的延时是uC/OS时间管理最主要的功能,如下图:
uc/os中的延时不同于单片机不带系统时的延时函数,单片机延时函数大多情况下CPU是在执行无意义的指令,降低了CPU的效率,而在uc/os中是在调用系统延时的任务的任务控制块中写入一个延时数ticks,然后将该任务挂起进行任务调度,释放cpu控制权交给其他任务,这提高了cpu的使用效率。当系统时钟中断来临时,系统会将所有任务的任务控制块的ticks数减1然后检查ticks是否为0,如果ticks大于0该任务就继续被挂起等待,如果等于0就将其加入就续表中。下面贴出使用最多的OSTimeDly()源码及注释。
作者: 心飞扬
出处: https://www.cnblogs.com/heart-flying/
关于作者:专注于嵌入式,人工智能,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(xtwyb@163.com)咨询.
posted on 2018-12-20 11:14 heartflying 阅读(524) 评论(0) 编辑 收藏 举报