uc/os-II分析--(5)---时钟

10 篇文章 0 订阅
10 篇文章 1 订阅

提供时钟以供系统处理:延时,超时等与时间相关的时间。采用硬件定时器产生一个毫秒级的周期性中断来实现系统时钟。最小的时钟单位是两次中断之间的间隔的时间,这个最小时钟单元叫做时钟节拍。----time  Tick


1. 硬件定时器以时钟节拍为周期定时产生中断,该中断的中断服务程序叫做OSTickISR();

 OSTimeTick()来完成每个时钟节拍时需要做的工作。


2.任务的延时:OSTimeDly()

函数的作用:为了防止高优先级的任务独占CPU,uc/os-II规定,除了空闲任务外所有任务必须在合适的时候调用OSTimeDly(),使当前任务的运行延时一段时间并进行一次任务调度,方便让出CPU的使用权。

函数原型:  void  OSTimeDly(INT16U  ticks):ticks是以时钟节拍数为单位的延时时间;


OSTimeDlyHMSM():可以用时,分,秒为单位的延时函数。


3.取消任务的延时:OSTimeDlyResume()

函数的原型:INT8U  OSTimeDlyResume(INT8U  prio);  prio:为被取消延时任务的优先级别


4. 获取和设置系统时间:

OSTime:记录系统发生的时钟节拍数。在调用OSStart()时被初始化为0, 每发生一个时钟节拍就加1

获得时间: INT32U    OSTimeGet(void); 返回值为OSTime的值;

设置时间:void OSTimeset(INT32U   ticks):  设置的参数ticks为OSTime的设置值。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值